[英]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.