Top
為什麼預設非irix模式下top的CPU故障(選項1)顯示衝突結果?
我在各種分支上執行一些基準測試,
bitcoind
並且在執行時注意到一些衝突的值top
。在下面的螢幕截圖中,8 個 CPU 中的每一個 CPU 使用率平均分佈為約 30%。但在它下面的列表視圖中,
bitcoind
顯示 105% CPU。鑑於這不是 Irix 模式,這意味著它bitcoind
使用 100% 的 1 個 cpu。但在上面的細分中並沒有以這種方式顯示。此外,我正在執行的 Python 程序在底部讀數中每個報告約 40%,但頂部的 CPU 均未讀取約 40%。該機器確實有 8 個物理核心,執行 Ubuntu 非虛擬化。
為了比較,這裡是
stress
在 8 個 CPU 上執行,具有相同的top
顯示。請注意,8 個 cpu 每個都有 100% 的使用率,8stress
個程序每個都有一個 100% 的報告。更新:確實我正在測試的變體是多執行緒的,並且
H
選項顯示故障,感謝@TheGeek
這是因為您的硬幣是多執行緒的。按頂部的字母“H”打開執行緒模式。這將向您顯示 bitcoind 的子執行緒。然後您可以看到 CPU 使用率的分佈。
您也可以嘗試 gstack 查看執行緒列表。