java - 如何清除permgen内存空间

标签 java exception memory out-of-memory

我正在使用 MAT 来分析内存。

大小:14.4 MB 类:7k 对象:350.9k 类加载器:116

我使用 MAT 内存分析器得到了上述报告。但我找不到任何方法来清除这些类、对象。
有没有办法删除所有这些对象并清理永久内存。
我们可以清理 permgen 内存吗?或者我必须增加 eclipse.ini 文件中的 xms、xmx 和 launcher.XXMaxPermSize 大小,并确保所有对象在使用后都无效。

最佳答案

据我所知,没有函数可以清除permgen。默认情况下,jvm 无限期地保存所有加载的类。但您可以使用 -XX:+CMSClassUnloadingEnabled 和 -XX:+UseConcMarkSweepGC 参数更改此行为。

如果您使用CMSClassUnloadingEnabled参数,GC还将清除PermGen并删除不再使用的类。

关于java - 如何清除permgen内存空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31231357/

相关文章:

java - 我如何从打印机获取图像 "Scanner"

Java:无法读取图像文件

c++ - C++中noexcept "violations"的静态分析

windows - 监控您自己进程中的内存使用情况

tomcat - Tomcat 中已部署应用程序的内存

python - Numpy:在一台机器上耗尽内存,而在另一台机器上完成相同的任务

java - 如何使用 JDK 11 为 Collection.toArray() 提供生成器函数?

java - 华氏度到摄氏度转换(执行然后关闭,只想程序关闭)

java - 这是 LinkedList 的正确可视化吗?

c# - 如何处理异常消息的翻译?