2.JVM内存优化案例

2020-05-18  本文已影响0人  slowwalkerlcr

1.内存优化示例

jmap -dump:format=b,file=/home/hadoop/dump.dat 50125(pid) 

具体日志信息说明

2020-05-09T17:44:01.554+0800:  ---GC事件开始时间

3.153:    --GC时间开始时间相对于jvm开始启动时间间隔毫秒数

[Full GC]  --区分是yonggc还是fullgc

(Ergonomics) --触发gc的原因
Ergonomics表示jvm内部认为可以执行一次GC,allocation failure,system.gc()

[PSYoungGen:37887k→0K(359424K)] --年轻代垃圾收集使用的容量→垃圾收集后使用的容量(年轻代占用总大小)

[ParOldGen:84645K→93168K] --老年代垃圾收集使用的容量→垃圾收集后使用的容量(老年代占用总大小)

122533K→93168K(544256K)  --堆 垃圾收集前使用容量→垃圾收集后的使用容量(堆空间的总大小)

[Metaspace:3135K→3135K(1056768K)]  --元空间 垃圾收集前使用容量→垃圾收集后的使用容量(元空间的总大小)

0.07736.7 secs  --GC事件持续的时间

[Times:
user=1.25 --GC线程消耗的时间
sys=0.02 --GC过程中操作系统调用和等待所消耗的时间
real=0.07 secs --应用程序暂停的时间]

参数设置

java heap(堆内存):设置为fullGC之后的3-4倍     参数:-Xms和-Xmx
元空间:设置为fullgc之后的1.2-1.5倍     参数:-XX:MetaspaceSize和-XX:MaxMetaspaceSize
年轻代:设置为FullGC的1-1.5倍   参数:-Xmn

2.延迟优化实例

通过年轻代设置大小: MinorGC消耗时间和频率
年轻代大小更小:MinorGC时长更短,频率更高
年轻代大小太大:MinorGC时长更长,频率就会更低

3.死锁案例

jstack检测
jconsole检测

上一篇下一篇

猜你喜欢

热点阅读