JVM-jvm常用命令

本文详细介绍了JVM的各种命令,包括通过jps查看Java进程,开启垃圾回收日志,使用jmap、jstat、jvm命令监控和分析JVM内存,以及如何在堆内存溢出时生成堆内存日志。
摘要由CSDN通过智能技术生成

目录

通过jps查看java进程

1、开启垃圾回收日志

2、jvm命令

2.1、jmap -heap (pid)18096? ? 监控的jvm的?

2.2、堆内存查看,linux系统:java -XX:+PrintFlagsFinal -version | grep HeapSize

?2.3、堆内存查看,windows系统:java -XX:+PrintFlagsFinal -version | findstr HeapSize

2.4、查看某进程的JVM情况

2.5、jvm 垃圾收集器查看命令

3、jvm堆内存溢出时,生成堆内存日志

3.1、dump可以是内存溢出时让其自动生成,或者手工直接导出

3.2、开启内存溢出


参考地址:JVM参数设置_徒步凉城-Jasper的博客-CSDN博客_jvm 参数

jvm 堆内存 栈内存 大小设置 查看堆大小_alinshen的博客-CSDN博客_jvm 查看栈大小

通过jps查看java进程

1、开启垃圾回收日志

启动java应用时,可以加以下参数来开启jvm垃圾回收日志。

-XX:+PrintGC:打印最基本的回收信息

-XX:+PrintGCDetails:可以打印详细GC信息至控制台

-XX:+PrintGCDateStamps 可以记录GC发生的详细时间

2、jvm命令

2.1、jmap -heap (pid)18096 监控的jvm的

2.2、堆内存查看,linux系统:java -XX:+PrintFlagsFinal -version | grep HeapSize

2.3、堆内存查看,windows系统:java -XX:+PrintFlagsFinal -version | findstr HeapSize

2.4、查看某进程的JVM情况

jstat -gc 51972(PID) 5000(每隔n毫秒打印一次)

其中51972是进程号,5000为刷新时间。

对应数据项的含义:

  • S0C:年轻代中第一个survivor(幸存区)的容量 (字节)
  • S1C:年轻代中第二个survivor(幸存区)的容量 (字节)
  • S0U:年轻代中第一个survivor(幸存区)目前已使用空间 (字节)
  • S1U:年轻代中第二个survivor(幸存区)目前已使用空间 (字节)
  • EC:年轻代中Eden(伊甸园)的容量 (字节)
  • EU:年轻代中Eden(伊甸园)目前已使用空间 (字节)
  • OC:Old代的容量 (字节)
  • OU:Old代目前已使用空间 (字节)
  • YGC:从应用程序启动到采样时年轻代中gc次数
  • YGCT:从应用程序启动到采样时年轻代中gc所用时间(s)
  • FGC:从应用程序启动到采样时old代(全gc)gc次数
  • FGCT:从应用程序启动到采样时old代(全gc)gc所用时间(s)
  • GCT:从应用程序启动到采样时gc用的总时间(s)

2.5、jvm 垃圾收集器查看命令

java -XX:+PrintCommandLineFlags -version

2.6、jps -v :显示运行项目jvm的参数信息

列出当前机器上正在运行的虚拟机进程

-p :仅仅显示VM 标示,不显示jar,class, main参数等信息.

-m:输出主函数传入的参数. 下的hello 就是在执行程序时从命令行输入的参数

-l: 输出应用程序主类完整package名称或jar完整名称.

-v: 列出jvm参数, -Xms20m -Xmx50m是启动程序指定的jvm参数

2.7、查看默认使用的垃圾回收器

java -XX:+PrintCommandLineFlags -version

windows: java -XX:+PrintFlagsFinal -version |FINDSTR /i “:”

Linux: java -XX:+PrintFlagsFinal -version | grep :

2.8、jstat

参考:jstat命令查看jvm的GC情况 (以Linux为例)_ITPUB博客

是用于监视虚拟机各种运行状态信息的命令行工具。它可以显示本地或者远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据,在没有GUI图形界面,只提供了纯文本控制台环境的服务器上,它将是运行期定位虚拟机性能问题的首选工具。

假设需要每250毫秒查询一次进程2764垃圾收集状况,一共查询20次,那命令应当是:

jstat-gc 2764 250 20

常用参数:

-class (类加载器)

-compiler (JIT)

-gc (GC堆状态)

-gccapacity (各区大小)

  • S0C:第一个幸存区的大小
  • S1C:第二个幸存区的大小
  • S0U:第一个幸存区的使用大小
  • S1U:第二个幸存区的使用大小
  • EC:伊甸园区的大小
  • EU:伊甸园区的使用大小
  • OC:老年代大小
  • OU:老年代使用大小
  • MC:方法区大小
  • MU:方法区使用大小
  • CCSC:压缩类空间大小
  • CCSU:压缩类空间使用大小
  • YGC:年轻代垃圾回收次数
  • YGCT:年轻代垃圾回收消耗时间
  • FGC:老年代垃圾回收次数
  • FGCT:老年代垃圾回收消耗时间
  • GCT:垃圾回收消耗总时间

-gccause (最近一次GC统计和原因)

-gcnew (新区统计)

-gcnewcapacity (新区大小)

-gcold (老区统计)

-gcoldcapacity (老区大小)

-gcpermcapacity (永久区大小)

-gcutil (GC统计汇总)

-printcompilation (HotSpot编译统计)

3、jvm堆内存溢出时,生成堆内存日志

3.1、dump可以是内存溢出时让其自动生成,或者手工直接导出

配置jvm参数:-XX:+HeapDumpOnOutOfMemoryError - XX:HeapDumpPath=/home/biapp/m.hprof

手工直接导,PID为进程号

jmap -dump:live,format=b,file=d:aapp.hprof PID

3.2、开启内存溢出

XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/biapp/m.hprof

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值