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/slabinfo1071 后返回一个条目:

sock_inode_cache    1071   1071    640   51    8 : tunables    0    0    0 : slabdata     21     21      0

sock_inode_cache到目前为止,浏览文件和文档并没有帮助。我希望这里有人知道内核计数器实际上在计数什么,或者可以指出我正确的方向。

4

1 回答 1

1

内核 1071 实际计数是多少?

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

struct socket_alloc对应sock_inode_cacheslab缓存,包含struct socketand struct inode,所以连接到VFS

于 2019-12-25T13:37:01.907 回答