pstack 命令
Linux 系統中可以通過 pstack 命令查看一個進程的線程數量和每個線程的調用堆棧情況,用法為 pstack process_id
首先我們可以用top命令查看是哪個進程CPU使用率過高。
例如在我的linux服務器上

我們可以看到thread_create_c進程對CPU的占用率達到100%
接着我們使用pstack命令觀察一下該進程下所有線程的堆棧調用情況。

在 pstack 輸出的各個線程中,只要逐一對照我們的程序源碼來梳理下該線程中是否有大多數時間都處於空轉的邏輯,然后修改和優化這些邏輯就可以解決 CPU 使用率過高的問題了。
在這里,我貼出thread_create_c進程對應的程序的源碼。