JVM问题排查

1.先用ps -ef | grep "java" 找出对应java进程

2.进Linux安装java的bin目录,利用jstat查看 命令jstat -gc pid

 如果报Could not attach to Pid,则加上sudo 安装bin目录/jstat -c pid就可以查出来了

3.利用sudo 安装bin目录/jmap -heap  pid就可以看到整个堆的情况

4.可以加上两个JVM参数-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=堆快照导出目录 他会在发生OOM时生成堆的快照,然后用visualVm装入这个快照,分析OOM的原因

gc是不会触发HeapDumpOnOutOfMemoryError 这个参数的

5.用cat /proc/pid/status 可以看到这个进程的状态,比如说有多少个线程

 

sudo /usr/local/jdk1.8.0_191/bin/jmap -F -dump:live,format=b,file=/tmp/heap_cms_20200424.hprof PID

 

sudo /usr/local/jdk1.8.0_191/bin/jstack -l pid| grep "关键字" | wc -l

cat /proc/pid/status

sudo /usr/local/jdk1.8.0_191/bin/jmap -heap pid

sudo /usr/local/jdk1.8.0_191/bin/jstat -gc pid

netstat -nat|grep -i "8891" | wc -l 查看8891端口多少个连接


sudo lsof -p pid|wc -l 查看多少个句柄

netstat -n | grep pid| awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

查看某个端口各种连接的连接数,比如说CLOSE_WAIT TIME_WAIT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值