簡體   English   中英

在執行過程中,java 程序如何知道它使用了多少內存?

[英]During execution, how can a java program tell how much memory it is using?

在執行過程中,java 程序如何知道它使用了多少內存?

我不在乎它的效率有多高!

VonC 的答案是一個交互式解決方案——如果你想以編程方式知道,你可以使用Runtime.totalMemory()來找出 JVM 使用的總量,並使用Runtime.freeMemory()來找出其中還有多少可用(即它已分配JVM,但未JVM分配 - 新對象可以使用此內存)。

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

如果您在某處有一個 java1.6 並且您的程序在 java 1.4.2、1.5或 1.6 中運行,您可以啟動一個visualVM 會話,連接到您的應用程序,並跟蹤內存(以及更多)

使用 Visual VM 監控應用程序的圖像

(圖片暫時不顯示,請參考監控應用中的說明。)

這不是准確的,但為了粗略估計,只需從Runtime.getRuntime.freeMemory()減去Runtime.getRuntime.totalMemory() 在程序開始時執行此操作,以了解JVM's開銷內存使用情況,並在執行后的時間間隔內執行此操作。

java.lang.Runtime.totalMemory() 將為您提供所需的信息: http : //java.sun.com/j2se/1.4.2/docs/api/java/lang/Runtime.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM