本文只是记录一下tomcat运维用到过的知识,都是网络上收集来的资料,侵删
64位默认为server模式,32位的阀值是2CPU和2GB内存
client 串行 串行
server 并行回收GC 并发GC
Young区GC的方式:
串行GC(Serial Copying)
client模式下的默认GC方式,也可使用-XX:+UseSerialGC指定。
并行回收GC(Parallel Scavenge)
server模式下的默认GC方式,也可用-XX:+UseParallelGC强制指定。采用PS时,默认情况下JVM会在运行时动态调整Eden:S0:S1的比例,如果不希望自动调整可以使用-XX:-UseAdaptiveSizePolicy参数,内存分配和回收的算法和串行相同,唯一不同仅在于回收时为多线程。
并行GC(ParNew)
CMS GC时默认采用,也可以采用-XX:+UseParNewGC指定。内存分配、回收和PS相同,不同的仅在于会收拾会配合CMS做些处理。
Old区GC的方式:
串行GC(Serial MSC)
client模式下的默认GC方式,可通过-XX:+UseSerialGC强制指定。每次进行全部回收,进行Compact,非常耗费时间。
并行GC(Parallel MSC) server模式下的默认GC方式,也可用-XX:+UseParallelGC=强制指定。可以在选项后加等号来制定并行的线程数。
并发GC(CMS)线上环境采用的GC方式,也就是Realese环境的方式
使用CMS是为了减少GC执行时的停顿时间,垃圾回收线程和应用线程同时执行,可以使用-XX:+UseConcMarkSweepGC=指定使用,后边接等号指定并发线程数。CMS每次回收只停顿很短的时间,分别在开始的时候(Initial Marking),和中间(Final Marking)的时候,第二次时间略长。
故障调查用命令
jps
查看JVM的进程号
jstat -option PID
查看GC和JVM内存
Option:gc,gccapacity,gccause, gcnew,gcnewcapacity,gcold,gcoldcapacity,gcpermcapcacity,gcutil
jmap
jmap -heap:format=b [pid] (JAVA1.5)
jmap -dump:format=b,file=[filePath] [pid] (JAVA1.6)
【原】GC的默认方式, http://iamzhongyong.iteye.com/blog/1447314
Java系列笔记(4) - JVM监控与调优,http://www.cnblogs.com/zhguang/p/Java-JVM-GC.html
官网,http://docs.oracle.com/javase/jp/7/technotes/tools/share/jstat.html