1、用ps -ef | grep tomcat-v3 查出tomcat執行的程序id
2、用top -hp pid 查詢程序下所有執行緒的運**況(shift+p 按cpu排序,shift+m 按記憶體排序)
3、找到cpu最高的pid,用printf 『%x\n』 pid 轉換為16進製制
printf 『%x\n』 30506
4、用jstack 程序id | grep 16進製制執行緒id 找到執行緒資訊
這裡說不定能看到一些有用的資訊(準備定位我也還沒弄明白)
我知道的好像只能解決執行緒死鎖之類的問題,網上沒有查到準備定位cpu高的**的例子
原文:jvm調優之jstack找出最耗cpu的執行緒並定位**
top jstack分析cpu過高原因
1 用ps ef grep tomcat v3 查出tomcat執行的程序id 2 用top hp pid 查詢程序下所有執行緒的運 況 shift p 按cpu排序,shift m 按記憶體排序 3 找到cpu最高的pid,用printf x n pid 轉換為16進製制 printf x n 3...
JVM全面分析之String
目錄string 的string pool是乙個固定大小的hashtable,預設值大小長度是1009.如果放進string pool的string非常多,就會造成hash衝突嚴重,從而導致鍊錶會很長,而鍊錶長了後直接會造成的影響就是當呼叫string.intern時效能會大幅下降。使用 xx st...
JVM物件逃逸分析 JVM記憶體
jvm的執行模式有三種 解釋模式 interpreted mode 只使用直譯器 xint 強制jvm使用解釋模式 執行一行jvm位元組碼就編譯一行為機器碼 編譯模式 compiled mode 只使用編譯器 xcomp jvm使用編譯模式 先將所有jvm位元組碼一次編譯為機器碼,然 後一次性執行所...