系统并发报too much open files 错误

在并发系统里面,有时候经常存在报open too much files 的异常信息.甚至导致系统宕机情况.在这种情况里面.其原因暂时发现有两个.第一个是java程序没有写好,打开了一些资源没有及时关闭.第二个就是linux系统上面的配置配好.一般linux上面配置打开文件数默认为1024.使用命令ulimit -n查看.一般1024配置不适合并发系统.应该改大点.同时如果利用nginx做反向代理和负载均衡的话.最好也设置一下打开文件数.其次就是我们的java程序了.这也是我们比较关心的.排查手段如下:先在Linux系统上面找到java系统的Pid  我习惯使用的命令为ps aux|grep java  第一行第二列那串数字就是java系统的pid.然后利用lsof -p [java系统pid]|wc -l 去查看Java系统打开多少个文件了..如果java程序没有问题的话.显示的那个数字到了一定程度就会稳定下来了.如果真是java程序没有写好.那个数字会一直升上去.导致系统崩掉

盖士人读书,第一要有志,第二要有识,第三要有恒.有志则不甘为下流;有识则知学问无尽,不敢以一得自足,如河伯之观海,如井蛙之窥天,皆无识者也;有恒则断无不成之事.此三者缺一不可.
原文地址:https://www.cnblogs.com/fengxuanyuan/p/6308589.html