【Java】 CPU/內存 jstack/jstat

大家好,本節主要是講一下關於線上,我們在linux進行java應用程序針對內存或者CPU增高的原因進行排查的一些實戰。

查看java的pid

<code>top  /<code>

查看pid下的佔用高的tid

<code>top -Hp pid  /<code>

打印tid16進制

<code>printf "%x\n" tid  /<code>

查看棧 輸出到xx.log

<code>jstack pid|grep -A 2000 tid的16進制 > xx.log/<code>

查看gc 打印每2000ms輸出一次,共10次

<code>jstat -gcutil pid 2000 10  /<code>

查看堆

<code>jmap pid  
jmap -heap pid 
# 推薦使用該命令,可以直接觀看到運行過程中的變量增長情況
jmap -histo:live pid   
# 上述命令,如果打印數據過多,建議加一個 | more ,即可完成分屏查看
...
/<code>


通過以上的這些操作過程基本可以定位一些CPU高或者內存高的原因。


分享到:


相關文章: