参考 https://blog.csdn.net/daiyudong2020/article/details/52760846

https://blog.csdn.net/great_smile/article/details/50114133

运行top命令后,键入大写M。

有两种途径:

a) 打开大写键盘的情况下,直接按M键

b) 未打开大写键盘的情况下,Shift+M键

查看pid对应的文件路径

ll /proc/PID

linux查看内存占用

 

  1. 使用top命令,查看cpu占用过高的java PID (如PID=9876)
  2. 使用ps aux|grep PID   (ps aux|grep 9876)查看是那个java程序占用cpu 。
  3. ps -mp PID -o THREAD,tid,time  (ps -mp 9876-o THREAD,tid,time)显示线程列表,找出线程列表中占用cpu过高的tid (如tid=6789)
  4. printf "%x\n" tid  (printf "%x\n" 6789)将其tid转化为16进制格式 如68b9
  5. jstack pid |grep tid -A30 >> /tmp/jstack.log  (jstack 9876 |grep 68B9 -A30 )   打印对应的堆栈信息,查看具体原因。

相关文章: