Java JVM堆大小和总物理RAM

Java JVM堆大小和总物理RAM,java,jvm,centos7,Java,Jvm,Centos7,我的centos 7服务器上有64GB的RAM。我的一个应用程序有4096mb的JVM堆大小,但不断得到java.lang.OutOfMemoryError:超出了GC开销限制 经常出现异常。RAM和JVM堆大小之间的关系是什么,以便我可以相应地扩展它。问题在于堆大小。您可以增加堆的大小。 下面是几个可用于更改堆大小的选项 -Xms<size> set initial Java heap size -Xmx<size> set maximum

我的centos 7服务器上有64GB的RAM。我的一个应用程序有4096mb的JVM堆大小,但不断得到
java.lang.OutOfMemoryError:超出了GC开销限制

经常出现异常。RAM和JVM堆大小之间的关系是什么,以便我可以相应地扩展它。

问题在于堆大小。您可以增加堆的大小。 下面是几个可用于更改堆大小的选项

-Xms<size>        set initial Java heap size
-Xmx<size>        set maximum Java heap size
-Xss<size>        set java thread stack size
 **For Example :-**
-Xms512m
-Xmx2024m
-XX:MaxPermSize=700m
-XX:ReservedCodeCacheSize=480m
-Xms设置初始Java堆大小
-Xmx设置最大Java堆大小
-Xss设置java线程堆栈大小
**例如:-**
-Xms512m
-Xmx2024m
-XX:MaxPermSize=700m
-XX:保留的DecacheSize=480m

是否存在与RAMjava-XX:+PrintFlagsFinal-version | findstr HeapSize相关的给定建议百分比运行此命令以找出JVM使用的RAM大小。由于GC在RAM上运行以清除引用findstr命令找不到,因此与垃圾收集器没有任何关联…它在centos 7上工作吗?您有多少RAM不确定程序需要多少内存。如果您的程序需要更多内存,则必须增加最大内存或优化程序以减少使用。