Top

為什麼預設非irix模式下top的CPU故障(選項1)顯示衝突結果?

  • April 30, 2018

我在各種分支上執行一些基準測試,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 查看執行緒列表。

引用自:https://unix.stackexchange.com/questions/440673