我想为我的Tomcat实例增加permgen内存和堆内存。 我试过创建setenv.bat文件。 现在我不确定它是否反映出来。
您能否告诉我如何知道Tomcat实例的现有已分配Heap和PerGen内存以及如何交叉检查内存是否增加。
我已经尝试过在url中提到的这个方法,但这是针对Windows中的JAVA而不是特定于任何java实例的 https://www.mkyong.com/java/find-out-your-java-heap-memory-size/
答案 0 :(得分:0)
解决方案1:检查Windows流程参数
您可以在任务管理器中看到它,方法是启用命令行列并检查java.exe
是否确实以-XX:MaxPermSize
参数启动。
但是,任务管理器并不总是显示完整的命令行。它会在一定数量的字符后切断。您可以使用Process Explorer查看完整的命令行(只需将鼠标悬停在java.exe
进程上)。
解决方案2:签入代码:
import java.lang.management.ManagementFactory;
import java.lang.management.MemoryPoolMXBean;
import java.lang.management.MemoryType;
import java.lang.management.MemoryUsage;
for (MemoryPoolMXBean mpBean : ManagementFactory.getMemoryPoolMXBeans()) {
System.out.printf(
"Type: %s, Name: %s: %s\n",
mpBean.getType().toString(), mpBean.getName(), mpBean.getUsage()
);
}