gpt4 book ai didi

java - Tomcat:传递 -XX:MaxPermSize 没有明显效果

转载 作者:行者123 更新时间:2023-11-28 22:33:59 24 4
gpt4 key购买 nike

我正在尝试将我的应用程序部署到 Tomcat,但未能成功。我不断地得到 OutofMemoryError permgen 空间。我尝试了各种命令行开关(在 stackoverflow 上搜索了与此相关的不同问题),如 -XX:MaxPermSize、-XX:PermSize、-XX:+CMSClassUnloadingEnabled、-XX:+CMSPermGenSweepingEnabled

我将 permgen 大小设置为 64、128、256、512,但它们都不起作用。

有趣的是,当我收到错误时,我在任务管理器中看到 java 进程只占用了大约 300mb 内存。我将 -Xms 作为 1024m 传递,但内存消耗仍然在 300mb 左右。

正在寻找可能是什么原因的意见?

我的系统详细信息:戴尔 Latitude 5420赢 XP 32 位4 GB 内存

最佳答案

当您说“不断”时,您的意思是在您连续完成几次重新部署之后?如果是,那么这是 Tomcat 的一个众所周知的缺陷,您对此无能为力。增加 perm gen 空间只会延迟不可避免的事情。

原因是反射会动态创建类,这些类最终位于 perm gen 空间中,永远不会被回收。因此得名“perm gen”——这是垃圾收集器不接触的永久代。

守恒定律告诉您,如果您的容量有限,并且只添加而不删除,您最终会耗尽容量。这就是发生在你身上的事情。

关于java - Tomcat:传递 -XX:MaxPermSize 没有明显效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7686461/

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