在OEL 7服务器(3.10.0-1062.9.1.el7.x86_64)上对问题进行故障排除时,我运行了命令
sudo ss -s
这给了我输出:
Total: 601 (kernel 1071)
TCP: 8 (estab 2, closed 0, orphaned 0, synrecv 0, timewait 0/0), ports 0
Transport Total IP IPv6
1071 - -
RAW 2 0 2
UDP 6 4 2
TCP 8 5 3
INET 16 9 7
FRAG 0 0 0
进行
ss -a | wc -l
时返回了225个条目。这使我想到一个问题,
kernel 1071
实际上在计算什么?浏览各种手册页没有提供答案。
使用
strace
,我可以看到ss
读取的位置:/proc/net/sockstat
/proc/net/sockstat6
/proc/net/snmp
/proc/slabinfo
查看这些文件和文档,值似乎来自
/proc/slabinfo
。搜寻
/proc/slabinfo
以获得1071时返回了一个条目:sock_inode_cache 1071 1071 640 51 8 : tunables 0 0 0 : slabdata 21 21 0
到目前为止,浏览
sock_inode_cache
上的文件和文档并没有帮助。我希望这里的人知道内核计数器实际在计数什么,或者可以指出正确的方向。
最佳答案
what is kernel 1071 actually counting?
sock_inode_cache
表示Linux内核Slab统计信息。它显示了那里有多少个套接字inode( Activity 对象)。struct socket_alloc
对应于sock_inode_cache
平板缓存,并包含struct socket
和struct inode
,因此它已连接至VFS。
关于linux - 在ss -s中,内核计数器实际计数的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59471133/