问题总结:
PS Eden Space 附近显示的内存大小为 639.5 MB WHILE JAVA_OPTS 包含 -Xms2558m -Xmx2558m
(2.5G) 。
详情:
创建 seten.sh 文件后,我添加了这一行:
export JAVA_OPTS="-Dfile.encoding=UTF-8 -Xms2558m -Xmx2558m -XX:PermSize=2558m -XX:MaxPermSize=2558m -XX:+HeapDumpOnOutOfMemoryError
然后,我监视应用程序服务器的 UI,以检查内存的增加是为了什么
我很奇怪:为什么当我浏览到我的应用程序时,为什么 PS Old Gen 保持稳定而 PS Eden Space 快速消耗内存。但是,PS Eden Space 附近显示的内存大小为 639.5 MB。
如何增加PS伊甸园空间?已知我们使用 Java8,我应该使用什么选项?
当我设置 -Xms2558m
时:我的应用程序是一个 grails 应用程序(包括 spring 框架、spring 安全性...)是否为人所知太多
最佳答案
几个问题:
-Xms
设置初始Heap空间,与Eden空间无关。这就是 JVM 在启动时分配的内容。如果需要更多,它稍后分配最多 -Xmx
,但这适用于总堆空间,而不是 GC 生成空间之一(它们将成为堆的一部分)
你可以通过-XX:NewRatio=
配置年轻代和老年代的比例。检查 JVM 的文档,如果它是 Oracle 的 this might suffice ,其他人可能有更好的链接。您会在网上找到很多 GC 教程和文章。
当您阅读它们时:就我而言,Young 和 Eden 经常被用作同义词。
2.5G 的永久代空间听起来太大了 - 你应该使用 CATALINA_OPTS 来设置 tomcat 配置,而不是 JAVA_OPTS。
关于tomcat - Eden空间在哪里设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27340654/