JVM性能调优——常用配置

查看当前堆内存的使用情况

jmap -heap 17586

每过5s查看 进程 10735 gc的回收情况

jstat -gc 10735 5000

从内存中导出dump信息到heap.bin中,“pid” 进程标识号

jmap -dump:live,format=b,file=heap.bin pid

从内存中导出dump信息到jconsole.dump/hprof中, “pid” 进程标识号

jmap -dump:format=b,file=jconsole.dump pid
jmap -dump:format=b,file=jconsole.hprof pid

查看类加载的情况

jmap -clstats pid

每隔1秒查看gc的回收的原因

jstat -gccause pid 1000

垃圾回收器CMS的JVM参数配置

-Xms4g -Xmx4g -Xmn2g -Xss1024K -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=1024m -XX:ParallelGCThreads=20 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=80

目前我使用的GC的JVM参数配置

可以通过下面的参数打Heap Dump信息

  • -XX:HeapDumpPath

  • -XX:+PrintGCDetails

  • -XX:+PrintGCTimeStamps

  • -Xloggc:/usr/aaa/dump/heap_trace.txt

通过下面参数可以控制OutOfMemoryError时打印堆的信息

  • -XX:+HeapDumpOnOutOfMemoryError

一个性能较好的web服务器jvm参数配置:

Last updated

Was this helpful?