JVM性能调优常用工具及参数

开启飞行器参数:
-XX:+UnlockCommercialFeatures  -XX:+FlightRecorder

服务模式运行
-server
堆大小
-Xms1024m -Xmx4096m

新生代大小(剩余就是老年代)
-Xmn512m

eden survival 比例
-XX:SurvivorRatio=8 


持久代大小
-XX:PermSize=256m -XX:MaxPermSize=1024m



jps -m 查看java进程
jmap -dump:file=xx.bin pid 导出dump文件,通过mat进行内存分析
jstat  gcutil|gc  -h20 pid 1s
-h20 20行打个头
1s   表示周期性收集


sysstat 里面很多好用的工具

pidstat -p <PID> 1 3 -tudrdh
u cpu使用情况
r 内存使用情况
d io使用情况
w 线程切换情况
t 监控线程
h 表示合并列头

备注:里面的线程通过十进制表示,可以通过shell转为十六进制,通过jstack 找到对应堆栈,从而锁定代码
shell十进制转为十六进制
printf %x 4196939

http://jahnkey.huang.blog.163.com/blog/static/274898402012792644735/



-Xms1024m -Xmx1024m  -Xmn512m -XX:SurvivorRatio=6
-Dlog4j2.is.webapp=false  -Dlog4j2.enable.threadlocals=false
-Dlog4j.initialReusableMsgSize=30
-DAsyncLoggerConfig.RingBufferSize=1000000
-XX:+UseParNewGC -XX:+UseConcMarkSweepGC
-XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70
-XX:MaxTenuringThreshold=15
-XX:+PrintGCDetails -XX:+PrintGCDateStamps
-XX:+PrintHeapAtGC
-XX:+PrintTenuringDistribution
-Xloggc:F:/opensource/mygit/code/test/logs/gc.log


linux perf
https://github.com/WangJunTYTL/perf4j-zh

猜你喜欢

转载自lizhensan.iteye.com/blog/2307172