too many open files(打开的文件过多)解决方法

在java中,操做文件File是一个对象,因此打开建立文件以后不用进行关闭,可是若是写入读取文件内容了,须要关闭流。java

在程序里操做ftp,sftp时必定要关闭channelSftp和ftpclient等,操做文件时FileInputStream,FileOutputStream等输入输出流也要关闭。linux

关闭操做必定要放在finally里。服务器

若是操做频繁而没有关闭的话,通常会报错     java.net.SocketException: 打开的文件过多,这时候详细检查程序,检查sftp或者ftp工具类,检查处理类的try-catch-finally是否有逻辑问题。工具

在linux服务器上能够使用.net

ulimit -a

查看当前系统设置的最大句柄数。code

使用对象

lsof -p PId | wc -l

查看某程序打开了多少文件。blog

参考:http://www.javashuo.com/article/p-kzehdqkc-cc.htmlget

相关文章
相关标签/搜索