# 步骤1: 找高CPU线程的TID
top -H -p <java_pid> # 按P排序,记录高CPU线程的PID(十进制)
# 步骤2: 十进制TID转十六进制
printf "%x\n" 12345 # 输出: 3039 → 这是jstack中的nid
# 步骤3: 在jstack中搜索
jstack <java_pid> | grep -A 20 "nid=0x3039"
# 按M排序,找高内存线程
top -H -p <java_pid> -o %MEM
# 结合jmap分析
jmap -histo:live <java_pid> | head -20 # 查看对象分布