【发布时间】:2017-03-24 06:18:19
【问题描述】:
现在,我们的系统通过/proc/net/sockstat 发现hang 和tcp mem 越来越大。当挂起出现时,将打印:
“tcp:太多孤立的套接字”
从sockstat,我们知道socket很少,但是消耗了1500个page mem,为什么?
所以我有两个问题:
- 如何知道哪个进程消耗了 tcp socket 内存?
- 如何避免“tcp:too many of orphaned sockets”?
(1)
~ # cat /proc/net/sockstat
套接字:已使用 56 个
TCP:正在使用 6 orphan 0 tw 1 alloc 8 mem 1510
UDP:正在使用 8 内存 6
UDPLITE:正在使用 0
RAW:使用 4
FRAG:正在使用 0 内存 0
(2)
~ # cat /proc/sys/net/ipv4/tcp_mem
900 1200 1800
~ # cat /proc/sys/net/ipv4/tcp_rmem
4096 87380 87380
~ # cat /proc/sys/net/ipv4/tcp_wmem
4096 16384 65536
【问题讨论】: