高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积压。

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