簡體   English   中英

如何在執行期間獲取jar使用的內存空間

[英]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所應用的應用程序的總內存,以及一些功能:

  • 提供CPU分析。
  • 提供有關線程的所有信息。
  • 提供JVM堆和內存狀態。
  • 提供有關GC活動的信息。

它帶有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.

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