2012-04-23 143 views
0

我在帶有3GB RAM的Windows 7 SP1上使用tomcat 7。我正在使用一些自定義標記處理程序在JSP頁面上顯示數據,這些數據不斷給我提供堆大小(內存不足)錯誤。netbeans中的Tomcat堆大小增加以及如何查找當前堆大小

我正在使用Netbeans 7.1作爲開發IDE,我試圖將-Xms256m -Xmx256m放在項目屬性運行選項下的VM選項中。我不確定它是否會增加堆大小,有什麼方法可以找出tomcat的當前堆大小?

或者我需要做其他的事情來增加堆大小?由於無法找到是否增加堆大小,我無法調試出現問題的地方,堆大小很小或者代碼與我的代碼有關。

+1

您是否嘗試過使用jconsole? – 2012-04-23 08:05:33

回答

1

您可以使用工具,如VisualVM,以獲取有關運行的虛擬機的一些信息。

+0

thanks for這個。相當有用的軟件,實時告訴幾乎所有需要的東西。 – Abhi 2012-04-23 08:30:03

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 + "%)"; 
} 
+0

在運行程序本身內部獲取有關內存消耗的快速信息的簡潔方法。 – magomi 2012-04-23 08:15:32

+1

如果你想從外面看,嘗試使用探針:http://code.google.com/p/psi-probe/ – Woody 2012-04-23 08:25:56

+0

@Woody:謝謝,它從程序本身知道內存消耗相當有幫助 – Abhi 2012-04-23 08:31:00