Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java PermGen大小(在VisualVM中监控)开始减小_Java_Swing_Jvm_Permgen_Jvisualvm - Fatal编程技术网

Java PermGen大小(在VisualVM中监控)开始减小

Java PermGen大小(在VisualVM中监控)开始减小,java,swing,jvm,permgen,jvisualvm,Java,Swing,Jvm,Permgen,Jvisualvm,我们正在运行一个Swing应用程序,它在一段时间后开始变得非常缓慢,这似乎是因为在JVisualVM中看到的PermGen大小正在减小,直到最终使用的PermGen与大小相同 堆大小在相应时间似乎不是问题 我会发布一张图片,但stackoverflow正在停止,因为我的声誉不到10 图中显示的是橙色线,表示在最初的5-10分钟内尺寸是平的,然后随着活动的发生而减小。蓝色线表示所用的永久发电机正在缓慢上升 我可以增加初始和最大Permsize,这可能会被用作解决方案,但我想了解为什么Permgen

我们正在运行一个Swing应用程序,它在一段时间后开始变得非常缓慢,这似乎是因为在JVisualVM中看到的PermGen大小正在减小,直到最终使用的PermGen与大小相同

堆大小在相应时间似乎不是问题

我会发布一张图片,但stackoverflow正在停止,因为我的声誉不到10

图中显示的是橙色线,表示在最初的5-10分钟内尺寸是平的,然后随着活动的发生而减小。蓝色线表示所用的永久发电机正在缓慢上升

我可以增加初始和最大Permsize,这可能会被用作解决方案,但我想了解为什么Permgen的大小会减少

我已经包括了来自JVisualVM的图表,它指出了这个问题


“我会发布一张图片…”如果相关,请将其上传到图片站点,并提供一个链接作为链接,其他人可能会将其嵌入。另请注意,工具的文本输出远比典型图像有用(搜索引擎友好)且字节数更少。你的标题是“PermGen递减”,但你的文本是“蓝线表示使用的PermGen正在缓慢上升”。是哪一个?在VisualVM中,PermGen有3个值。有一个最大值没有用图表表示,然后是橙色线表示“大小”,蓝色线表示“已使用”。因此,在这种情况下,表示“大小”的橙色线在减少,而表示“已使用”的蓝色线在增加。我想确定的是为什么橙色线在减少?您还有哪些其他内存设置?比如这里讨论的事情:我的猜测是,实际的最大大小并没有减少,只是分配了什么,而且您有垃圾收集PermGen的JVM配置。我没有设置ClassUnloadingEnabled。只是堆和Permgen的初始大小和最大大小。因为我最初发布了这篇文章,所以我决定我们的问题是堆问题,而不是Permgen问题。我认为,尽管Permgen的大小仅略大于使用的Permgen,但这可能只是我们所看到的JVM优化,实际上并没有造成问题。