在工作中,經常會碰到CPU占用100%的情況,那如何找到是那個線程占用了cpu呢?
1. top命令,找到cpu占用最高的進程
2. 查看該進程的線程, top -p <pid>
3. ctrl+H 切換到線程模式,找到占用cpu最高的線程。並把線程號轉化為十六進制,printf "%x\n" <線程ID>
4. jstack <進程號>,把線程棧打印出來。找到對應的線程號就可以分析為什么線程會占用那么高的cpu了。
在工作中,經常會碰到CPU占用100%的情況,那如何找到是那個線程占用了cpu呢?
1. top命令,找到cpu占用最高的進程
2. 查看該進程的線程, top -p <pid>
3. ctrl+H 切換到線程模式,找到占用cpu最高的線程。並把線程號轉化為十六進制,printf "%x\n" <線程ID>
4. jstack <進程號>,把線程棧打印出來。找到對應的線程號就可以分析為什么線程會占用那么高的cpu了。
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。