Linux

關於CPU使用率的問題

  • November 3, 2014

這個 CPU 使用率有多差/正常/好?

Cpu0  : 14.4%us,  6.3%sy,  0.0%ni, 78.8%id,  0.0%wa,  0.0%hi,  0.5%si,  0.0%st
Cpu1  : 88.3%us,  8.0%sy,  0.0%ni,  0.0%id,  0.0%wa,  0.0%hi,  3.7%si,  0.0%st

我們每隔一段時間就會從一組特定的伺服器(處理我們應用程序的最重要部分)收到 CPU 使用率警報,範圍介於 (80-88%) 之間。我通常不會對它們採取行動,因為我看到大部分使用都在%us空間中。我將其視為健康系統高效執行的標誌。我正在給我們的團隊寫一封電子郵件,試圖解釋我們什麼時候應該恐慌,什麼時候不應該收到這些 CPU 警報?我的問題是:

是否公平地說,只要%us 列中使用率高的 CPU%wa%sy擁擠的系統相比,CPU 的使用率不會太高,則表明系統健康。

是否認為即使 95% 的 CPU 使用率都不是伺服器的問題,只要它在%us列?

如果伺服器在 88% 的 CPU 使用率%us,我是否認為很可能必須在應用程序中進行調整?同樣,這 88% 的使用率並不會影響性能,所以最好還是這樣並接受我們的應用程序高度受 CPU 限制的事實?

這個特定的伺服器在 RHEL 6.5 上執行,並且java大多數時候執行一個具有 800 多個執行緒的程序。

這似乎是您應該自己回答的問題:在機器正常執行一段時間(例如一周)時保持統計數據,這將使您了解正常執行的參數應該是什麼。

您的快照顯示您或多或少地最大化了兩個核心之一。由於您的主程序是多執行緒的,這可能意味著如果需要,它還有更多的 CPU 可以抓取。

至於 85% 或 95% 的使用者是否“太高”,這對作業系統來說並不是真正的問題,不是。如果這導致 CPU 過熱,我相信這只是硬體的問題。顯然,您使用的東西越多,在給定時間段內失敗的可能性就越大,但這並不意味著更頻繁的使用會導致失敗。以此類推:您可以每天行駛 1000 公里,然後您的汽車在 13 週後以約 10 萬公里的速度拋錨,或者您可以每天行駛 100 公里,而您的汽車在 2 年後以約 10 萬公里的速度拋錨。在電腦中,核心硬體(儲存和記憶體除外)首先變得過時的可能性要大得多,我不認為它特別容易因使用而磨損。

WRT to user vs. sys time,過多的 sys 時間可能表示外圍硬體故障。這可能會出現高峰,並希望伴隨系統日誌中的錯誤消息。至於多少是太多,大多數時候應該主要是使用者。同樣,保留一周的統計數據應該可以幫助您確定這一點。

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