簡體   English   中英

空堆的頻繁完整GC

[英]Frequent full GC with empty heap

我有一個GC日志文件,當堆為空時顯示頻繁的完整GC(最初每30分鍾,然后每分鍾20、10、5,最多每分鍾有幾個事件。但是,在某個時刻,我可以看到堆使用情況(我想像在用戶開始連接到我的應用程序的那一刻)和完整的GC事件開始發生的頻率降低了,我想不出發生這種情況的原因。

我正在使用Oracle Vm 1.6,我的啟動腳本是:

java -XX:+HeapDumpOnOutOfMemoryError \
     -Xmx7500m \
     -XX:HeapDumpPath=../logs \
     -verbose:gc \
     -XX:+PrintGCDetails \
     -XX:+PrintGCTimeStamps \
     -Xloggc:/app/diffusion/Logs/gc.log \
     -Dcom.sun.management.jmxremote \
     -Dcom.sun.management.jmxremote.ssl=false \
     -Dcom.sun.management.jmxremote.authenticate=false \
     -Dcom.sun.management.jmxremote.port=2000 \
     -cp ../lib/diffusion.jar:../etc:../data com.pushtechnology.diffusion.Diffusion $1

嘗試禁用顯式GC,看看是否有幫助: -XX:+DisableExplicitGC

然后,您可以收集一些線程轉儲,以確認堆為空時應用程序中沒有真正運行的東西。

暫無
暫無

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

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