tomcat - Eden空间在哪里设置?

标签 tomcat configuration java-8 memory-pool metaspace

问题总结:

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,以检查内存的增加是为了什么

enter image description here

我很奇怪:为什么当我浏览到我的应用程序时,为什么 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/

相关文章:

tomcat - 使用 JOSSO+TOMCAT 配置示例 webcontext

java - 移植 WebSphere 代码以获取 Tomcat 的远程凭证

python - 从配置文件 Python 中读取值

mysql - 如何通过网络保护 MySQL 连接?

java - 如何关闭 tomcat catalina.out 文件的调试和信息日志?

configuration - TCP模式选项消除延迟?

grails - Grails属性

java 8 spring spEL 可重复绑定(bind)减慢每次迭代

java - 使用 java 流将 Stream<Object[]> 转换为 List<Object>

java - 将一个对象拆分为对象列表 - 需要 JAVA8 解决方案