我在/ proc中找到了显示套接字的信息:
$ cat /proc/net/sockstat
sockets: used 8278
TCP: inuse 1090 orphan 2 tw 18 alloc 1380 mem 851
UDP: inuse 6574
RAW: inuse 1
FRAG: inuse 0 memory 0
你能帮我找一下这些价值观的含义吗?这些值是否足够可靠,或者我需要在其他地方搜索它?
这些方法是否可以在Linux中找到有关TCP / UDP连接的信息?
答案 0 :(得分:1)
据我了解,/proc/net/sockstat
是查找该信息最可靠的地方。我经常自己使用它,并且只需一台服务器来管理1MM的同时连接,这是我能够可靠地统计这些信息的唯一地方。
答案 1 :(得分:1)
你能帮我找出这些值的含义吗?
根据代码 here,值是正在使用的套接字数 (TCP / UDP)、孤立 TCP 套接字数(应用程序没有更多句柄的套接字,它们已经调用了 close()
)。 TCP tw
我不确定,但是根据结构名称 (tcp_death_row),这些是在不久的将来要被彻底销毁的套接字吗? sockets
表示分配的套接字数(据我了解,考虑不同状态下的 TCP 套接字),mem
是 TCP 套接字分配的页数(内存使用)。
This 文章对此主题进行了一些讨论。
答案 2 :(得分:0)
您可以使用netstat
命令,该命令本身使用/proc
文件系统,但打印的信息对人类更具可读性。
例如,如果要显示当前的tcp连接,可以发出以下命令:
netstat -t
检查man netstat
以了解众多选项。