首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何丢弃Permgen?

如何丢弃Permgen?
EN

Stack Overflow用户
提问于 2010-11-03 00:47:26
回答 3查看 18K关注 0票数 22

我想转储应用服务器的Permgen。

我不想使用-XX:+TraceClassLoading -XX:+TraceClassUnloading,因为我不想重启服务器,我也不想使用jconsole

我有像jmap(用于堆转储)这样的工具来获取permgen,这样我就只能提供pid了。

EN

回答 3

Stack Overflow用户

发布于 2011-05-26 03:59:13

代码语言:javascript
复制
jmap -permstat <pid>

将产生如下输出:

代码语言:javascript
复制
30337 intern Strings occupying 2746200 bytes.
class_loader    classes bytes   parent_loader   alive?  type

<bootstrap> 2031    7253392   null      live    <internal>
0x517474f0  1   1760      null      dead    sun/reflect/DelegatingClassLoader@0x43f95d38
0x4f83f670  1   1744    0x4ebfb8e8  dead    sun/reflect/DelegatingClassLoader@0x43f95d38
[...]

total = 287 10020   35889952        N/A     alive=3, dead=284       N/A  

这不是完全转储,但这样做将允许您进行一些调查。

我仍然在寻找如何找到更多的信息。

票数 17
EN

Stack Overflow用户

发布于 2010-12-17 23:37:41

不可能像对堆所做的那样“转储permgen”。

除了其他人介绍的jmap -permstat之外,您还可以分析标准堆转储,以了解this blog entry: 'The Unknown Generation: Perm'中描述的永久生成。

因为堆转储实际上并不包含大量关于perm空间的信息,所以很难处理perm问题。最近,我发现了Sporar,Sundararajan和Kieviet写的一篇很棒的文章。作者对永久一代进行了一些阐述。当然,我必须立即检查是否以及如何使用Eclipse Memory Analyzer来分析这个“未知”代。这就是这个博客的目的。

票数 13
EN

Stack Overflow用户

发布于 2010-11-03 01:48:54

代码语言:javascript
复制
jmap -permstat <pid>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4080010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档