![](/img/trans.png)
[英]java library to determine cpu and memory used by a program during its execution
[英]How to obtain the memory space used by a jar during its execution
我編寫了一個java程序,我可以使用它生成的jar運行
java -jar foo.jar
我有興趣獲得我的jar程序在執行期間請求的最大內存大小。 實際上,我只是看內存管理(如htop
),但它不准確。
我想知道在啟動jar時是否有一個特殊參數可以在執行結束時獲取這些信息?
您是否嘗試過visualVM
,它是一個免費且功能強大的工具來跟蹤Java性能應用程序,它將向您顯示您的JVM從物理內存提交的數量,以及當前運行的JVM所應用的應用程序的總內存,以及一些功能:
它帶有JDK軟件包,因此您無需安裝它,有關詳細信息,請查看此信息
在您的情況下,您可以執行以下操作:
java -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=8484 -Dcom.sun.management.jmxremote.ssl=false -jar foo.jar
打開visualVM
,然后選擇File -> Add JMX connection
,然后鍵入你的主機ip和你在參數“我們的情況下是8484”中指定的端口,用以下各項分隔:,例如localhost:8484
,然后你准備好了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.