du781166309 2021-04-22 11:10 采纳率: 66.7%
浏览 72
已采纳

java程序占用linux cpu过大,查看cpu占用最大的线程,如何看信息

 

  • 写回答

2条回答 默认 最新

  • 搬山境KL攻城狮 2021-04-22 16:10
    关注
    man top
    # 线程下的所有进程情况
    top -p 15124 -H
    # 转换16进制进程号(例如15125对应3b15)
    printf '%x\n' 15125
    # 线程dump
    jstack -l 15124 >stack.txt
    # 对应位置为nid=0x3b15,内容如下,可以定位到具体的java方法位置
    "DestroyJavaVM" #71 prio=5 os_prio=0 tid=0x00007fa328009800 nid=0x3b15 waiting on condition [0x0000000000000000]
       java.lang.Thread.State: RUNNABLE
    
       Locked ownable synchronizers:
            - None

    你那一块是ContainerBackgroundProcessor线程占用CPU高导致的,可以参考下这篇博客

    https://blog.csdn.net/loophome/article/details/100693030

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?