jvm调优

JVM堆内存调优

调优方法与步骤

  1. 监控GC的状态
  2. 生成堆的dump文件
  3. 分析dump文件
  4. 分析结果判断是否需要优化
  5. 调整GC类型和内存分配
  6. 不断分析和调整

调优参考参数

  1. 调整jvm堆内存的占用空间
  2. 调整新生代老年代占用堆空间的比例,
  3. 老年代与新生代设置多大合理
    1. 大的年轻代将会导致普通GC的周期延长,但会增加GC的时间,小的老年代必定会导致频繁的full GC
    2. 小的年轻代导致普通GC的频繁发生,但GC的时间短,大的老年代将会减少full GC的频率

GC调优

  1. 尽量不要创建过大的对象或数组。
  2. 通过虚拟机的 -Xmn 参数适当调大新生代的大小,让对象尽量在新生代中被回收掉。
  3. 通过 -XX:MaxTenuringThreshold 参数调大对象进入老年代的年龄,让对象尽量在新生代中被回收掉。

CPU满负载的情况

  1. 查消耗cpu最高的进程PID。
  2. 跟据PID查出消耗cpu最高的线程号。
  3. 把上面四个线程的十进制数转成十六进制。
  4. 根据线程号查出对应的java线程,进行处理。

参考文献 & 鸣谢