相关疑难解决方法(0)

打开的文件太多:打开的文件数量,打开的数量以及JVM打开的数量

我在Java中遇到这个异常:

java.io.FileNotFoundException: (Too many open files) 
Run Code Online (Sandbox Code Playgroud)

我正在寻找消除这个问题的方法.

此错误显然表明JVM已分配了太多句柄,而底层操作系统不会让它拥有更多.要么是因为连接不正确/流连接而导致泄漏.

此过程不间断运行数天,最终抛出异常.在12-14天的正常运行时间后反复发生.

你怎么打这个?有没有办法在JVM中获取已分配句柄的列表或在达到一定数量时跟踪?我喜欢打印它们,看看它是如何生长的.我不能使用分析器,因为它是一个生产系统,并且难以在开发中重现它.有什么建议吗?

我正在监视空闲堆大小并在接近-Xmx中指定总数的1%时引发"警报".我也知道,如果我的线程数达到500以上,那么肯定会失控.现在,有没有办法知道我的JVM 从操作系统分配了太多的句柄,并没有给它们回复,例如套接字,打开的文件等.如果我知道这一点,我会知道在哪里看,什么时候.

java jvm

62
推荐指数
4
解决办法
8万
查看次数

标签 统计

java ×1

jvm ×1