soket句柄未释放的问题(netstat 与 lsof结果不一致)
系统:AIX
最近有程序报errno=24,文件句柄占用超限制。
用lsof查,发现大部分句柄跟socket句柄有关,36145是一个服务端的服务端口:
datax%lsof -p 184684 |grep 36145| wc -l
65516
new_datax 184684 datax *102u IPv4 0xf10006001d2b6290 0t0 TCP rhjf3_perip:*->rhjf2_svc:36145
new_datax 184684 datax *103u IPv4 0xf10006002d547290 0t0 TCP rhjf3_perip:*->rhjf2_svc:36145
new_datax 184684 datax *104u IPv4 0xf10006001f667290 0t0 TCP rhjf3_perip:*->rhjf2_svc:36145
new_datax 184684 datax *105u IPv4 0xf1000600315a8a90 0t0 TCP rhjf3_perip:*->rhjf2_svc:36145
new_datax 184684 datax *106u IPv4 0xf1000600300bd290 0t0 TCP rhjf3_perip:*->rhjf2_svc:36145
new_datax 184684 datax *107u IPv4 0xf100060030069290 0t0 TCP rhjf3_perip:*->rhjf2_svc:36145
new_datax 184684 datax *108u IPv4 0xf10006003ce20290 0t0 TCP rhjf3_perip:*->rhjf2_svc:36145
new_datax 184684 datax *109u IPv4 0xf10006003ce9ea90 0t0 TCP rhjf3_perip:*->rhjf2_svc:36145
但nestat看连接数并没有那么多
datax%netstat -na|wc -l
785
想请教下,
1)socket句柄数不能用netstat看吗?
2)什么情况下连接不存在了,句柄还会占用?
3)还有一点不太明白:lsof结果中rhjf3_perip:*->rhjf2_svc:36145 _perip和_svc是什么意思?
望高手指点,多谢大家~~