JVM-jvm常用命令

目录

通过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的 

JVM-jvm常用命令_第1张图片

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

JVM-jvm常用命令_第2张图片

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

 JVM-jvm常用命令_第3张图片

2.4、查看某进程的JVM情况

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

JVM-jvm常用命令_第4张图片

其中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:\a\app.hprof PID

3.2、开启内存溢出

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

你可能感兴趣的:(JVM,jvm,java,开发语言)