lsof -p xxx 出现很多FIFO、pipe 的问题原因

最近2次程序报错,Connt open file,too much file....

后来用lsof 指令一查看,发现文件打开数满了,超过65535这个默认上限,虽然调大这个数可以临时解决问题,但这不是解决问题的办法


2次问题的分析结果

程序中有定时发送HTTP请求、打开socket连接,发送指令

在出问题的程序这边,每分钟增加60-80个文件句柄打开数,但程序并没有新打开文件,只是多开了很多通道


java    26049 root  272r  FIFO                0,6      0t0 864055990 pipe
java    26049 root  273w  FIFO                0,6      0t0 864055990 pipe
java    26049 root  274r  0000               0,11        0 864055991 eventpoll
java    26049 root  275r  FIFO                0,6      0t0 864055992 pipe
java    26049 root  276w  FIFO                0,6      0t0 864055992 pipe
java    26049 root  277r  0000               0,11        0 864055993 eventpoll



第一次的原因是:HTTP的地址访问被禁止,程序还在一直请求,后来换掉Http地址就OK了

第二次的原因是:Socket端口不通,程序也是一直在请求,后来改掉Socket的地址端口,换个可以连通的地址就OK了



你可能感兴趣的:(lsof -p xxx 出现很多FIFO、pipe 的问题原因)