在并发系统里面,有时候经常存在报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程序没有写好.那个数字会一直升上去.导致系统崩掉