cpu 速度步進如何影響 htop 中報告的 cpu 使用百分比?普通的上衣怎麼樣?
那麼,如果我的 cpu 降壓到 800mhz,全速為 2ghz,那麼使用 5% 是否意味著 cpu 運行了 0.05 * 800 = 4000 萬個週期,或者 0.05 * 2000 = 1 億個週期?
答案1
我很難找到方法差異的合理解釋,但這是我所看到的:
在Linux,使用htop
,CPU 使用率百分比是相對於目前時脈速度。當您的 CPU 完全降壓時,如果您將接近空閒的後台進程與可能在 10 秒後運行並導致 CPU 升壓的更「活躍」的進程進行比較,那麼它們可能看起來比實際繁忙得多。
這裡有一個非常好的答案(https://unix.stackexchange.com/a/58541/9854)解釋了它是如何工作的 - 基本上系統跟踪“時鐘滴答聲”,並且 htop 在給定的時間範圍內通過查看您的(瞬時/當時)時脈速度將其轉換為百分比。這種方法似乎有時會產生超過 100% 的數字,但我想他們必須對其進行標準化/限制。
這確實不是似乎是任務管理器的方式視窗報告 CPU 使用率 - 它似乎專注於相對於 CPU 的某些「標準」100% 容量的使用情況(不確定他們如何決定 100% 是什麼,在超頻和睿頻加速的世界中)。
這種差異的一個示例結果是,在完全相同的情況下,當我的CPU 病態地降至200MHz(而不是正常的900MHz 空閒和3600Mhz 繁忙)時,linux htop 報告“CPU 容量已達到恐慌”,而Windows 則顯示“嘿,一切都很酷,CPU 完全沒有充分利用”,儘管沒有足夠的 CPU 吞吐量來追蹤滑鼠遊標...
在這兩個地方,如果您知道自己在做什麼,您就可以「理解」這些情況:
- 在 Windows (10) 中,開啟「更多詳細資料」後,可以切換到效能標籤、CPU 部分,查看目前 CPU 頻率
- 在 Linux 中
htop
,使用 設定F2,然後在「顯示選項」下,勾選「同時顯示 CPU 頻率」方塊。這會將利用率數字置於上下文中。
答案2
步進是無關緊要的。 5% 表示 CPU 核心有 5% 的時間在做有用的工作。
不要以這種方式將速度乘以分數。這樣做得到的數字基本上沒有意義。你得到的「40Mhz」是一個毫無意義的數字——在 40MHz 下什麼也沒有發生。