在ss -s中,内核计数器实际计数的是什么?

问题描述 投票:1回答:1

在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上的文件和文档并没有帮助。我希望这里的人知道内核计数器实际在计数什么,或者可以指出正确的方向。

linux sockets memory-management linux-kernel ss
1个回答
0
投票

内核1071实际计数了什么?

sock_inode_cache表示Linux内核Slab统计信息。它显示了那里有多少个套接字inode(活动对象)。

[struct socket_alloc对应于struct socket_alloc平板缓存,并包含sock_inode_cachestruct socket,因此它已连接到struct inode

© www.soinside.com 2019 - 2024. All rights reserved.