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

相关文章

jinfo 命令可以用来查看 Java 进程运行的 JVM 参数,命令如下...
原文链接:https://www.cnblogs.com/niejunlei/p/5987611.ht...
java 语言, 开发者不能直接控制程序运行内存, 对象的创建都是...
jvm
1.jvm的简单抽象模型:  2.类加载机制     双亲委派模...
堆外内存JVM启动时分配的内存,称为堆内存,与之相对的,在代...
1.springboot和tomcat2.springcloud的请求如何通过网关鉴权?...