查看Java进程信息与GC情况

# 查询Java 进程
jps -l
jps -lvm

# 查看Java GC 情况
jstat -gcutil pid 5000
    参数说明如下:
    S0: 新生代中Survivor space 0区已使用空间的百分比
    S1: 新生代中Survivor space 1区已使用空间的百分比
    E: 新生代已使用空间的百分比
    O: 老年代已使用空间的百分比
    P: 永久带已使用空间的百分比
    YGC: 从应用程序启动到当前,发生Yang GC 的次数
    YGCT: 从应用程序启动到当前,Yang GC所用的时间【单位秒】
    FGC: 从应用程序启动到当前,发生Full GC的次数
    FGCT: 从应用程序启动到当前,Full GC所用的时间
    GCT: 从应用程序启动到当前,用于垃圾回收的总时间【单位秒】
# 主动触发GC    
jmap -histo:live pid

# 获取jvm配置详细信息命令
jinfo pid

# 堆栈使用情况
jmap -F -heap pid

# 对应进程对象占用较多的取30个
jmap -histo:live pid | head -30

使用jstack分析线程状态,可以按照如下步骤命令:
    (1)、可以通过top命令查看各个进程的cpu使用情况,默认按cpu使用率排序
    (2)、找到占用cpu较高的pid
    (3)、可以查看该进程下各个线程的cpu使用情况:top -Hp pid
    (4)、输出对应pid十六进制:printf "%x\n" pid
    (5)、查看该线程堆栈:jstack -l 310962 | grep pid的十六进制数据 -A20
    (6)、也可以使用如下命令查看详细信息:jstack -l 310962 | more
    
# jmap输出dump文件,用来对应分析详细信息
jmap -dump:live,format=b,file=heap4.hprof pid

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