簡體   English   中英

詳細的Java GC日志

[英]Detailed Java GC logs

當使用以下args時,sun JVM將詳細的GC日志輸出到StdOut。

 -verbose:gc
 -XX:+PrintGCTimeStamps
 -XX:+PrintGCDetails

但是,我不希望StdOut中的輸出,我真的不需要每個GC的細節。 是否可以以編程方式訪問用於這些日志的數據? 我希望能夠記錄我自己的日志文件分配/收集的內存量,理想情況下是平均對象大小。

你需要添加

-Xloggc:log_file_name

每次JVM啟動時都會重新初始化此文件,因此如果要保留它以進行分析,請不要忘記將其移動到安全位置。

的許多命令行選項的Java理解的完整列表,可以發現這里的Java 6。

您可以使用JMX Bean for Memory Pools和GC。 它們的優勢在於您可以獲得免費計划的計數器。 缺點是,它們因各種VM供應商,版本和GC設置而不同。

例如

java.lang:type=GarbageCollector,name=Copy
  CollectionCount, ColletionTime, LastGCInfo[1].duration,memoryUSageBefore/After
java.lang:type=GarbageCollector,name=MarkSweepCompact
  CollectionCount, CollectionTime, LastGCInfo[1].duration,memoryUSageBefore/After
java.lang:type=Memory
  HeapMemoryUsage[1].commited,init,max,used

暫無
暫無

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

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