-xms2048m -Xmx3072m
过了一会儿我们得到一个OutOfMemory异常,但java进程(WSO2ESB)进程甚至没有使用它的3GB.在jconsole中你还可以看到那些参数设置正确(此时linux Server有大约9GB的可用RAM)
linux没有给我们配置3 GByte RAM吗?
在完全相同的windows安装上 – java进程可以使用它的3GB Ram而没有任何问题.
jconsole的屏幕截图,显示堆内存使用量仅在0.3到1.0 GB之间.在OutOfMemory异常时刻堆内存为0.5GB,但是这个过程有3GB可以使用,但它没有……
编辑:添加了java进程的日志:
java.lang.OutOfMemoryError: unable to create new native thread
EDIT2:添加了free -m输出:
解决方法 我解决了这个问题.wso2esb使用了超过1000个线程.但是在linux上,用户可以使用的默认线程数设置为1024.
我不得不提高用户的限制,现在一切正常.
为此:
打开/etc/security/limits.conf并为您的用户添加以下两行:
myuser soft nproc 8192myuser hard nproc 8192总结
以上是内存溢出为你收集整理的linux – java程序在到达xmx之前内存不足全部内容,希望文章能够帮你解决linux – java程序在到达xmx之前内存不足所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)