我在哪里设置伊甸园空间?

时间:2014-12-07 07:30:06

标签: tomcat configuration java-8 memory-pool metaspace

问题摘要:

PS Eden Space 附近显示的Memmory大小为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以检查内存的增加是用于什么

enter image description here

我很喜欢:为什么当我浏览我的应用程序时为什么 PS Old Gen 保持稳定,而 PS Eden Space 快速消耗内存。但是, PS伊甸园空间附近显示的Memmory大小为639.5 MB。

如何增加 PS伊甸园空间?我应该使用什么选项知道我们使用Java8?

当我设置-Xms2558m时:我的应用程序是grails应用程序(包括弹簧框架,弹簧安全性,......)太多了解

1 个答案:

答案 0 :(得分:3)

几个问题:

-Xms设置初始堆空间,与Eden空间无关。这就是JVM在启动时分配的内容。如果需要更多,则稍后分配最多-Xmx,但这适用于总堆空间,而不是GC生成空间之一(那些将成为堆的一部分)

您可以使用-XX:NewRatio=配置年轻一代和老一代的比例。查看JVM的文档,如果它是Oracle的this might suffice,其他人可能有更好的链接。您将在网上找到很多GC教程和文章。

当你阅读它们时:据我所知,Young和Eden经常被用作同义词。

2.5G的永久代空间听起来像waaaaay太大 - 你应该使用CATALINA_OPTS设置tomcat配置,而不是JAVA_OPTS。