JVM —— 内存泄漏排查及jps、jstat、jstack、jmap、jprofiler的使用

JVM —— 内存泄漏排查及jps、jstat、jstack、jmap、jprofiler的使用

文章目录


jps(启动参数查看)

# 找个java
> ps -ef | grep java
501 35512 36218   0 12:07下午 ttys004    0:00.00 grep java
# 吧啦吧啦,这是我的nacos -> PID:36266
501 36266     1   0 171221  ttys004   84:40.39 .....
# 查看启动项方式1
> jinfo -flags 36266
......
......
# 查看启动项方式2
> jps -v | grep 36266
36266 nacos-server.jar -Djava.ext.dirs=/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/jre/lib/ext:/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/ext -Xms512m -Xmx512m -Xmn256m -Dnacos.standalone=true -Dnacos.member.list= -Xloggc:/Users/changyang/tools/nacos-2.0.3/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dloader.path=/Users/changyang/tools/nacos-2.0.3/plugins/health,/Users/changyang/tools/nacos-2.0.3/plugins/cmdb -Dnacos.home=/Users/changyang/tools/nacos-2.0.3

jstat(内存分析)

  • 分析某进程的情况
# 查看内存使用情况
> jstat -gcutil 36266

S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT   
0.00  67.90  15.80  42.42  95.45  94.05    123    2.726     3    0.267    2.992
标题 解释
S0 新生代中Survivor space 0 区使用空间百分比
新生代堆空间,内存和存放开始都会存在这里
S1 新生代中Survivor space 1 区使用空间百分比
新生代堆空间,内存和存放开始都会存在这里
E 新生代已使用空间百分比
O 老年代已使用空间百分比
M 元数据区已使用空间百分比
CCS 压缩类空间利用率百分比
YGC 从应用程序启动到当前,发生Yang GC 的次数
YGCT 从应用程序启动到当前,发生Yang GC所用的时间(秒)
FGC 从应用程序启动到当前,发生Full GC大的次数
FGCT 从应用程序启动到当前, 发生Full GC所用时间(秒)
GCT 从应用程序启动到当前,用于垃圾回收的总时间(秒)
约等于YGCT+FGCT
上一篇:Java进程cpu占用过高问题解决


下一篇:CPU使用率过高问题定位