查看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
在Linux中,可以使用以下命令查看Java进程GC(垃圾回收)情况: 1. jstat命令 jstat命令可以用来监视Java虚拟机(JVM)中的各种运行时信息,包括堆内存的使用情况GC情况等。使用jstat命令需要指定以下参数: - -gc:表示要监视GC情况 - [interval]:表示监视的时间间隔,以毫秒为单位,默认为1000毫秒 - [count]:表示监视的次数,默认为无限次 - [pid]:表示要监视的Java进程进程ID 例如,可以使用以下命令查看进程ID为12345的Java进程GC情况: ``` jstat -gc <pid> ``` 其中,`<pid>`表示Java进程进程ID,可以使用`ps`命令等工具获取。 2. jmap命令 jmap命令可以用来生成堆内存的转储文件(Heap Dump),从而可以分析Java应用程序的内存使用情况。使用jmap命令需要指定以下参数: - -dump:表示生成堆转储文件 - [format]:表示转储文件的格式,可以是b、h、f和d等格式 - [file]:表示转储文件的输出路径和文件名 - [pid]:表示要生成堆转储文件的Java进程进程ID 例如,可以使用以下命令生成进程ID为12345的Java进程的二进制格式的堆转储文件: ``` jmap -dump:format=b,file=heap.bin <pid> ``` 其中,`<pid>`表示Java进程进程ID。 3. jconsole命令 jconsole命令是一个图形化的监控工具,可以用来监视Java应用程序的各种运行时信息,包括内存使用情况、线程状态、GC情况等。使用jconsole命令可以更直观地了解Java应用程序的运行状态。使用jconsole命令时,需要先启动Java应用程序,并将其连接到jconsole。 以上是常用的查看Java进程GC情况的命令,不同的命令适用于不同的场景,可以根据实际情况选择使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值