繁体   English   中英

Java即使内存不足也会内存不足

[英]Java goes OutOfMemory even with enough RAM

我有一个使用以下jvm选项的应用程序:

-Xmx512m -Xms256m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC 
-XX:MaxGCPauseMillis=2 -XX:MaxDirectMemorySize=1G

我在具有8GB RAM的Windows 7 x64上运行它。 当任务管理器说正在使用60%的RAM时,就无法运行我的程序,Java会说“内存不足”。 即使从理论上讲,我仍然有将近3gb的可用RAM。 下面是在NetBeans中对我的项目进行性能分析的屏幕截图(直到它突然随机崩溃)。 什么会导致这些问题? 我的程序真的那么贵吗?

скриншот
(来源: SSmaker.ru

скриншот
(来源: SSmaker.ru

您应该贪婪地分配所需的最低开销。 也就是说,使用-Xms1g -XMx1g之类的东西,因此当您的应用程序实际开始运行时,它已经保留了其最大的堆使用量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM