高IO導致的應用卡頓分析及解決

線上有服務器卡頓情況, gc看起來正常,時間短,但應用暫停比GC時間長,io比較高。

GC時間並不代表JVM暫停時間,通過使用-XX:+PrintGCApplicationStoppedTime 打印真正的JVM暫停時間;

JVM對GC日誌的寫入和perf文件的更新,在高IO場景下會造成長時間的STW問題,建議方案:

1。 將GC日誌保存到ramfs、tmpfs 對內存有影響謹慎使用

      也可以更換爲ssd 等

2。 生產環境增加JVM啓動參數-XX:+PerfDisableSharedMem來避免生成perf文件(缺陷是無法使用JSTAT等工具)

3。調用內核參數,修改pdflush進程cache寫磁盤的頻率,以避免IO積壓。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章