栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何清除tomcat中的PermGen空间错误

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何清除tomcat中的PermGen空间错误

Tomcat使用PermGen空间来存储已定义的类定义(仅定义,不实例化)和字符串池。根据经验,PermGen空间问题往往在开发环境中经常发生,这是因为Tomcat每次部署WAR或执行jspc时(当您编辑jsp文件时)都必须加载新类。就个人而言,在进行开发测试时,我倾向于部署和重新部署大量战争,所以我知道我早晚会耗尽(主要是因为Java的GC周期仍然很糟糕,因此如果您快速且频繁地重新部署战争,足够,空间填满的速度超出了他们的管理能力)。

从理论上讲,这在生产环境中应该不是问题,因为(希望)您不会在10分钟内更改代码库。如果仍然发生,那仅意味着您的代码库(和相应的库依赖项)对于默认的内存分配来说太大了,您只需要弄乱堆栈和堆的分配。我认为标准是这样的:

-XX:MaxPermSize=SIZE

但是,我发现永久解决此问题的最佳方法是允许卸载类,以便您的PermGen永远不会用完:

-XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled

过去,类似的东西对我来说是神奇的。一件事,在使用这些性能时,需要进行重大的性能折衷,因为对于每个请求或类似的请求,permgen扫描将产生额外的2个请求。您需要权衡利弊。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/401174.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号