我在带有3GB RAM的Windows 7 SP1上使用tomcat 7。我正在使用一些自定义标记处理程序在JSP页面上显示数据,该页面不断给出堆大小(内存不足)错误。
我使用Netbeans 7.1作为开发IDE,我试图在项目属性运行选项下的VM选项中放置-Xms256m -Xmx256m。我不确定它是否正在增加堆大小,有没有办法找出tomcat的当前堆大小?
或者我需要做些其他事情来增加堆大小?由于无法确定是否增加了堆大小,我无法调试问题所在,堆密度较小或代码存在问题。
答案 0 :(得分:1)
public static String heapMemUsage()
{
long used = ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getUsed();
long max = ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getMax();
return ""+used+" of "+max+" ("+ used/(double)max*100.0 + "%)";
}
答案 1 :(得分:1)
您可以使用VisualVM之类的工具来获取有关运行VM的一些信息。