gpt4 book ai didi

java - MaxPermSize 忽略了 Tomcat 7

转载 作者:行者123 更新时间:2023-11-30 06:26:56 24 4
gpt4 key购买 nike

我正在尝试在 Windows Tomcat 服务器上运行多个工具。服务器启动正常,也能看到Tomcat的管理器页面。但是当我打开一个工具时,出现“OutOfMemoryError: PermGen space”。我在我的 catalina.bat 中尝试了很多设置 MaxPermSize,这是我的 CATALINA_OPTS:

set CATALINA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms64m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled"

当我在我的 Tomcat 服务器旁边运行 JVisualVM 时,我可以看到参数被很好地提取: overview

但是当我转到监视器选项卡并检查 PermGen 时,最大值是 67mb,而不是我设置 CATALINA_OPTS 的 512。因此设置了参数,但 Tomcat 忽略了它们。 permgen

我已经尝试解决这个问题几个小时了,但没有成功..

有人吗?

最佳答案

删除集合中的“”,你就没事了……还不知道为什么。但这就是答案

设置 CATALINA_OPTS=-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms64m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled

-- 编辑

顺便说一句,我认为您也需要 UseConcMarkSweepGC,否则其他 2 个 CMS 参数将不起作用(并且只需要其中一个,具体取决于 JVM 的版本)

What does JVM flag CMSClassUnloadingEnabled actually do?

-- 编辑 2

这个问题也被问到 tomcat6 这里:https://serverfault.com/questions/64894/setting-catalina-opts-for-tomcat6-on-windows-doesnt-work

可惜博主没有解释为什么你不需要在 windows 中使用引号。

http://javahowto.blogspot.nl/2006/06/6-common-errors-in-setting-java-heap.html

但我认为这是因为引用它被视为一个大论点。我唯一不明白的是为什么 jvisualvm 假装你设置正确。但我想参数的显示实际上并没有考虑它是如何在 JVM 中设置的,而只是很好地格式化了参数。

关于java - MaxPermSize 忽略了 Tomcat 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13875256/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com