/proc/net/stat目录主要用于保存网络相关的信息,包括arp_cache、ndisc_cache、rt_cache等文件,这些文件保存着系统网络的运行状态和性能数据等信息,方便用户查看系统的网络情况。
arp_cache文件:保存着当前系统ARP缓存的相关信息,即系统的IP地址和MAC地址的映射所生成的统计信息。
ndisc_cache文件:该文件主要保存着NDISC缓存的统计信息,主要指设备IPV6地址和其他相关信息的映射。
rt_cache文件:该文件保存的是系统网络连接跟踪的统计信息,主要是当前系统的网络连接的数量和状态等信息。
如图1,arp_cache、ndisc_cache、rt_cache文件的文件内容:
图1
arp_cache、ndisc_cache文件:entries列:表示当前缓存的缓存项数量,对于ndisc_cache文件,如果该字段的之在持续增加,则表示系统当前存在大量的连接,需要排查原因;
allocs列:表示自系统启动以来,已经分配的缓存项数量;
destroys列:表示被销毁的缓存项数量,销毁缓存项,可以释放空间,减少系统压力;
hash_grows列:表示哈希表扩张的次数;
lookups列:表示查找对应缓存的次数;
hits列:表示成功查找匹配缓存的次数,该值越高,表示成功率越高,系统性能也更好;
res_failed列:表示无法解析请求的数量;
rcv_probes_mcast列:表示接收到的多播请求数量;
rcv_probes_ucast列:表示接收到的单播请求数量;
periodic_gc_runs列:表示一个周期内,清理过时,不使用的缓存数;
forced_gc_runs列:表示强制清理无效的缓存项的数量;
unresolved_discards列:表示无法解析或者未解析导致丢弃的数据包的数量;
table_fulls列:表示因缓存已经满了导致缓存区溢出的数量;
rt_cache文件entries列:表示当前缓存的缓存项数量;
in_hit列:表示一个数据包在缓存里对应匹配项的次数;
in_slow_tot列:表示查找缓存导致数据包处理缓慢的次数;
in_slow_mc列:表示接收到多播请求,向缓存查找结果的数量,该字段的值和系统的网络负载成正比例相关;
in_no_route列:表示因找不到对应的缓存而无法转发数据包的数量;
in_brd列:表示最后一次接收到广播的时间;
in_martian_dst列:表示在缓存中,目的地址不正确的缓存包的数量;
in_martian_src列:表示缓存中,来源地址不正确的缓存包的数量,即数据包不可达;
out_hit列:表示请求包在缓存中被成功查找的次数;
out_slow_tot列:表示数据包在路由缓存中慢速查找的次数;
out_slow_mc列:表示因慢速查找导致数据包被丢弃的数量;
gc_total列:表示路由缓存总垃圾收集次数;
gc_ignored列:因路由缓存的GC机制而被忽略的数据包的数量;
gc_goal_miss列:表示在收集过程中,未成功的次数;
gc_dst_overflow列:表示由于目的地址溢出导致被垃圾收集的次数;
in_hlist_search列:表示再缓存中查找时,使用宏进行迭代搜索的次数;
out_hlist_search列:表示输出缓存查找的次数;