忘记看得哪个公众号推送的文章了,还比较实用,实际中使用过,排查出了线上服务内存溢出问题。
查看cpu:
top -c:显示进程列表,按大写P,进程按照cpu使用率排序
top -Hp 进程pid:显示进行的所有线程,按大写P,线程按照cpu使用率排序
printf "%x\n" 线程pid:把10进制转换为16进制,因为堆栈里线程pid是16进制
jstack 进程pid|grep '线程16进制pid' -C5 --color:打印线程堆栈信息
查看内存:
jmap -heap 线程pid:查看线程内存占用
jmap -histo:live 线程pid|more:找到最占用内存的对象
查看占用cpu最多的进程:
ps H -eo pid,pcpu |sort -nk2 |tail
查看端口链接状态:
netstat -lap|fgrep port