java 内存 不足 解决方案
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000794500000,576716800,0) failed; error=‘Cannot allocate memory‘ (errno=12) ? 淡定,不要着急 ? 这个问题引起的原因是:服务器上物理内存太小,大部分都是应为程序太多,内存吃紧,而给jvm分配的内存太大(java程序启动需要的内存,linux不能给),最好调整java程序jvm内存吧(测试环境下) 解决方案: 1.linux上利用top命令查看所有进程,看看那些进程占用的内存太大了,选择性的kill,释放内存,但这个需要了解清楚,安歇进程是不需要的。 2.调整tomca中对jvm内存的配置,因为jvm主要内存就是指jvm堆内存。 所以解决方案:JAVA_OPTS="-server -Xms256m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=256m" 将上述堆的最小内存-Xms256最小内存设置的更小点,举例子:之前 -Xms2048m 。2048M太大,可能物理内存都没那么大,那么改成-Xms256(我调成256),后期可以根据需要调整,或者加内存条。 ? 我通常使用的第二种决绝方案,控制在自己应用程序范围内。 JAVA_OPTS="-server -Xms256m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=256m" 放在linux的那个地方呢? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- java – 为什么我的JFrame的内容无法正确显示?
- 为什么Java CPU配置文件(使用visualvm)在一个什么都不做的方
- java – 如何在servlet线程中获取新的有状态会话bean?
- 如何为Java InputStream元素发送EOF?
- java – RMI Server不会使用LocateRegistry.createRegist
- methods – 使用AspectJ获取方法参数值
- Java-- join源代码测试
- Java利用future及时获取多线程运行结果
- java – Flink Streaming:如何根据数据将一个数据流输出到
- java – 静态初始化程序与实例初始化程序与构造函数