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
656

被折叠的 条评论
为什么被折叠?



