2008-10-27 26 views

回答

30

VonC的答案是一個互動的解決方案 - 如果你希望通過編程知道,你可以使用Runtime.totalMemory()找出JVM所使用的總量,並Runtime.freeMemory()找出多少仍然可用(也就是它的分配的JVM,但未分配 JVM--新對象可以使用這個內存)。

這些是實例方法 - 使用Runtime.getRuntime()首先獲取單例實例。

+0

你是對的(我最初的反應是從外面監視),+1給你;) – VonC 2008-10-27 08:30:55

4

如果你有java1.6的地方,你的程序是用Java 1.4.2,1.5或1.6上運行,就可以發動visualVM session,連接到你的應用程序,並遵循內存(以及更多)

image of monitoring application with Visual VM

(圖像沒有在時刻所顯示的,所以請指Monitoring an application一個例證。)

+0

謝謝CMS,並感謝誰upvoted這...考慮它不完全是用戶要求;) – VonC 2008-10-27 08:29:51

4

這並不準確,但對於粗略估計,只需從Runtime.getRuntime.totalMemory()中減去Runtime.getRuntime.freeMemory()即可。 在程序開始的時候這樣做,可以瞭解JVM's的開銷內存使用情況,並在執行期間以後面的間隔進行。

相關問題