JVM 是怎么去调优的?了解哪些参数和指令?
# 查看进程
由于JVM大多数命令都是需要用到进程id的,所以我们需要先查看一下我们系统的进程id,通过使用jps -l,输出所有java相关进程。
这里我们可以根据类名,大致确认出我们的系统进程是什么
注:-l代表的是输出应用程序main class的完整package名或者应用程序的jar文件完整路径名
# 查看JVM参数 jinfo
通过运行jinfo -flags <端口号>查看jvm的参数。
通过运行jinfo -sysprops <端口号>查看java系统参数。
# 查看各项指标数据 jstat
通过运行 -class <端口号>完成类加载统计 通过运行jstat -gc <端口号>完成垃圾回收统计 通过运行jstat -gccapacity <端口号>完成堆内存统计 通过运行jstat -gcnew <端口号>完成新生代垃圾回收统计 通过运行jstat -gcnewcapacity <端口号>完成新生代内存统计 通过运行jstat -gcold <端口号>完成老年代垃圾回收统计 通过运行jstat -gcoldcapacity <端口号>完成老年代内存统计 通过运行jstat -gcmetacapacity <端口号>完成老年代内存统计 通过运行jstat -gcutil <端口号>数据总览 查看对象及内存使用情况 通过运行jmap -histo <端口号> > ./log.txt类及其对象所占内存数据。
# jmap
通过运行jmap -heap <端口号>堆信息。
参考: 深度好文:JVM调优 (opens new window) Java核心篇-故事里的JVM性能调优 (opens new window)
编辑 (opens new window)
上次更新: 2022/09/18, 21:28:02