JVM调优常用命令

windows系统本人在jdk的bin目录操作

1、jps 查看系统中的进程     

        

2、jmap:

      jmap -histo 进程号>D:/log.txt     查看内存信息、实例个数及占用内存大小,也可以不要后面的路径 在控制台展示

      jamp -heap 进程号      查看进程的堆内存

JVM调优常用命令_第1张图片

3、top(linux中使用)

      top     查看系统中占用CPU较高的进程

      top -p 进程号     精确定位到进程 ,按"H"键查看进程中的线程

4、jstack

      jstack 进程号    可查看是否有死锁 及 进程情况

      jstack 进程号|grep -A 10 [16进制线程号]      3中的"H"按键查看的线程号(PID)转成16进制(有字母的话都是小写),可查看导致CPU升高的方法

JVM调优常用命令_第2张图片

 通过jvm工具(双击jdk的bin目录下 jvisualvm.exe)也能查看死锁,选中VisualVM 点 线程;

     JVM调优常用命令_第3张图片

5、jinfo

      jinfo -flags 进程号        查看进程的JVM信息

      jinfo -sysprops 进程号        查看进程的jdk信息

6、jstat

      jstat -gc 进程号       查看系统内存使用及GC压力情况

      jstat -gc 进程号 时间(毫秒)   次数      间隔*毫秒刷新、查看*次数 内存信息

                   如:jstat -gc 21968 1000 100          间隔1000毫秒 执行100次

S0C、S1C:survivor0、1区的内存空间大小

S0U、S1U:survivor0、1区的已使用空间大小

EC、EU:eden 区内存空间和已使用空间

OC、OU:old 区内存空间和已使用空间

MC、MU:元空间的内存空间和已使用空间

CCSC/CCSU:压缩类的内存空间和已使用空间(很少使用)

YGC、YGCT:从系统启动开始执行的young GC次数 及 总花费时间(秒)

FGC、FGCT:从系统启动开始执行的full GC次数 及 总花费时间(秒)

GCT:执行GC的总花费时间(秒)

jvm设置,设置堆内存并且将内存溢出日志 输出到指定目录,使用java的jvm工具(java的bin目录,双击jvisualvm.exe)可以导入dump文件
-Xms1000M -Xmx1000M -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\jvm.dump

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