Java PermGen大小(在VisualVM中监控)开始减小
我们正在运行一个Swing应用程序,它在一段时间后开始变得非常缓慢,这似乎是因为在JVisualVM中看到的PermGen大小正在减小,直到最终使用的PermGen与大小相同 堆大小在相应时间似乎不是问题 我会发布一张图片,但stackoverflow正在停止,因为我的声誉不到10 图中显示的是橙色线,表示在最初的5-10分钟内尺寸是平的,然后随着活动的发生而减小。蓝色线表示所用的永久发电机正在缓慢上升 我可以增加初始和最大Permsize,这可能会被用作解决方案,但我想了解为什么Permgen的大小会减少 我已经包括了来自JVisualVM的图表,它指出了这个问题Java PermGen大小(在VisualVM中监控)开始减小,java,swing,jvm,permgen,jvisualvm,Java,Swing,Jvm,Permgen,Jvisualvm,我们正在运行一个Swing应用程序,它在一段时间后开始变得非常缓慢,这似乎是因为在JVisualVM中看到的PermGen大小正在减小,直到最终使用的PermGen与大小相同 堆大小在相应时间似乎不是问题 我会发布一张图片,但stackoverflow正在停止,因为我的声誉不到10 图中显示的是橙色线,表示在最初的5-10分钟内尺寸是平的,然后随着活动的发生而减小。蓝色线表示所用的永久发电机正在缓慢上升 我可以增加初始和最大Permsize,这可能会被用作解决方案,但我想了解为什么Permgen
“我会发布一张图片…”如果相关,请将其上传到图片站点,并提供一个链接作为链接,其他人可能会将其嵌入。另请注意,工具的文本输出远比典型图像有用(搜索引擎友好)且字节数更少。你的标题是“PermGen递减”,但你的文本是“蓝线表示使用的PermGen正在缓慢上升”。是哪一个?在VisualVM中,PermGen有3个值。有一个最大值没有用图表表示,然后是橙色线表示“大小”,蓝色线表示“已使用”。因此,在这种情况下,表示“大小”的橙色线在减少,而表示“已使用”的蓝色线在增加。我想确定的是为什么橙色线在减少?您还有哪些其他内存设置?比如这里讨论的事情:我的猜测是,实际的最大大小并没有减少,只是分配了什么,而且您有垃圾收集PermGen的JVM配置。我没有设置ClassUnloadingEnabled。只是堆和Permgen的初始大小和最大大小。因为我最初发布了这篇文章,所以我决定我们的问题是堆问题,而不是Permgen问题。我认为,尽管Permgen的大小仅略大于使用的Permgen,但这可能只是我们所看到的JVM优化,实际上并没有造成问题。