JVM调优方法笔记

 

http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html

http://download.oracle.com/javase/1.5.0/docs/tooldocs/share/jstat.html#gccause_option

参考文档:http://www.blogjava.net/huanghuizz/articles/287127.html

 

1、性能工具介绍

  1. jvisualvm 
  2. jmap 
  3. jstat 
  4. jstack/threaddump 
  5. jprofiler 
  6. jmeter 

2、性能调优4步骤

  1. 重现问题 
  2. 定位问题 
  3. 模拟问题 
  4. 解决问题 

http://download.oracle.com/javase/1.5.0/docs/tooldocs/share/jstat.html#gccause_option

3、GC的运作方式

  1. 1、GC的算法 
  2.  复制(Copying)  
  3.  标记-清除(Mark-Sweep)  
  4.  标记-清除-整理(Mark-Sweep-Compact) 
  5.  
  6. 2、三种垃圾收集器 
  7.  Serial GC 
  8.  Parallel GC/Parallel Old GC 
  9.  Concurrent Mark-Sweep GC (CMS) 
  10.  
  11. 3、分代垃圾收集和GC的分类 
  12.  Minor GC 
  13.  Full GC 

4、GC参数调节

  1. GC的调优准则 
  2.     Throughput 
  3.     Pause time 
  4.     TPS 
  5. 调优的手段 
  6.     各代的大小 
  7.     GC的算法 
  8.  
  9. GC的调优观察 
  10.     Jstat 
  11.     gc  log 
  12.     Jvisualvm tracer 
  13. GC 调优文档 
  14. http://java.sun.com/docs/hotspot/VMOptions.html http://www.oracle.com/technetwork/java/gc-tuning-5-138395.html 

5、OutOfMemory分析方式

分类:Heap OOM,Perm OOM,Stack Overflow,Native OOM,Swap OOM

方式1:使用如下方式到处Heap

  1. Heap dump  
  2.     Java5:jmap -heap:format=b <pid> 
  3.     Java6: jmap -dump:format=b,file=heap.bin <pid> 
  4.     -XX:HeapDumpPath=/home/nasdaq/a.hrof -XX:+HeapDumpOnOutOfMemoryError 

 

方式2:Profiler的检测