Linux Load Average過高多少合適? CPU Load使用率檢查

如果你的計算機(電腦)速度很慢,你可能需要檢查是否系統高負載?

最近,有位網絡營銷人員表示,他所負責的電商網站,前段時間出現狀況無法訪問……

該網站基於WordPress建立站,在Linux VPS服務器搭建。

  • Linux VPS服務器的配置,只有1個CPU核心數、1GB RAM內存。

登錄Linux VPS服務器後台查看問題,發現load average平均負載非常高,達到10.0以上。

在Linux系統上,我們通常使用uptime命令來查看它(w命令和top命令也可用)。

此外,它們也適用於Apple的Mac電腦。

發現load average負載過高問題,就想辦法解決問題!

  • 遇到load average負載過高的情況,陳溈亮給予的解決方案是提高CPU核心數。
  • 然後,果斷將配置升級到2個CPU核心GB 8 RAM內存
  • 很快就解決了load average負載過高的狀況。

一、檢查系統負載

在SSH終端窗口中,鍵入以下命令▼

uptime

系統將返回一行信息 ▼

Linux Load Average過高多少合適? CPU Load使用率檢查

該行的後半部分顯示“load average”,表示“系統的平均負載”

  • 內有3個數字,我們能由此確定係統負載是大還是小?

服務器負載? top命令/CPU使用率/load average計算方法

為什麼有3個數字?

  • 它們代表系統的平均負載,分鐘為1分鐘,5分鐘和15分鐘。
  • 如果繼續查看,它還會告訴你當CPU完全空閒時,平均負載為0;
  • 當CPU工作負載飽和時,平均負載為1。

CPU是什麼意思?

  • CPU就是中央處理器。
  • (英文Central Processing Unit,CPU)
  • CPU是一台計算機的運算核心和控制核心。

CPU使用率

  • CPU使用率是一段時間內,CPU使用狀態的統計信息。
  • 該指示顯示CPU使用率(CPU被佔用的情況)。
  • 如果CPU長時間佔用,則需要考慮CPU是否過載。 ?
  • 長期過載操作是對機器本身的一種損害。
  • 因此,必須將CPU利用率控製到一定比例,以確保機器的正常運行。

Load Average是什麼?

  • Load Average是CPU負載,它包含的信息是一段段內CPU使用狀態的統計。
  • 它是CPU處理和等待CPU處理一段時間的進程數之和的統計信息。
  • 即CPU使用的隊列長度統計信息。

顯然,“load average”的值越低,例如0.2或0.3,意味著計算機(電腦)的工作量越小,系統負載越輕。

  • 但是,什麼時候能看到系統負載很嚴重?
  • 到底是等於1時?或是等於0.5?還是等於1.5?
  • 如果這三個值在1分鐘,5分鐘和15分鐘內不同,我該怎麼辦?

二、類比

要確定係統負載是否過重,你必須了解load average(平均負載)的真實含義。

接下來,陳溈亮將會用最通俗易懂的語言,來解釋這個問題。

首先,我們假設在最簡單的情況下,你的計算機只有一個CPU,所有運算操作必須由該CPU完成。

讓我們將這個CPU的load Average,想像成一座橋樑:

橋上只有一條車道,所有車輛都必須越過這條車道。

(顯然,這座橋只能用於一個方向。)

當系統負載為0時,表示橋上沒有汽車 ▼

當系統負載為0時,表示橋上沒有汽車第3張

系統負載為0.5,這意味著橋上有一半的汽車 ▼

系統負載為0.5,這意味著橋上有一半的汽車第4張

系統負載為1.0,這意味著橋的所有部分都有汽車,這意味著橋是“滿的” ▼

系統負載為1.0,這意味著橋的所有部分都有汽車,這意味著橋是“滿的” 第5張

  • 但必須指出的是,在此橋樑仍然可以順利通過。

系統負載為1.7,這意味著車輛太多,橋樑已滿(100%)。

  • 等待橋樑的車輛佔橋樑車輛的70%。

通過類比,以此類推,系統負載為2.0:

  • 意味著有許多在等待的車輛和橋面一樣多。
  • 系統負載為3.0,意味著等待橋樑的車輛是橋面的兩倍。
  • 當系統負載大於1時,後方車輛必須等待;
  • 系統負載越大,等待過橋的時間越長▼

系統負載越大,等待過橋的時間越長第6張

  • CPU的系統負載,基本上等於上述模擬橋的容量,這是CPU的最大工作量。
  • 橋上的車輛是等待CPU處理的過程(process)。

假如CPU每分鐘最多處理100個進程,則係統負載為0.2,這意味著CPU在這1分鐘內僅處理20個進程;

系統負載為1.0意味著CPU在這1分鐘內處理100個進程;

1.7這意味著除了CPU在處理的100個進程外,還有70個進程在等待CPU處理。

為了順利運行計算機,系統負載不應超過1.0,因此無需等待任何進程,並且可以首先處理所有進程。

顯然,1.0是一個關鍵值。

如果超過此值,則係統不處於最佳狀態。你必須干預。

三、系統負載load average多少合適?

1.0是系統負載的理想值嗎?

不一定,系統管理員往往會留下一點空間。

當此值達到0.7時,你應該知道是這樣的:

  • 當系統負載繼續大於0.7時,你必須開始調查問題,並防止情況惡化。
  • 當系統負載繼續大於1.0時,你必須找到解決方案,並降低該值。
  • 當系統負載達到5.0時,表明系統存在嚴重問題,並且長時間沒有響應,或幾乎崩潰。你不應該讓系統達到此值。

四、多個CPU處理器

以上是假設你的計算機(電腦)只有一個CPU。

如果你的計算機(電腦)安裝了2個CPU,會發生什麼?

2個CPU意味著計算機(電腦)的處理能力提升了一倍,並且可以同時處理的進程數量翻了一倍。

陳溈亮在此仍然使用大橋來做類比,2個CPU意味著大橋有2個通道,通車容量加倍 ▼

陳溈亮在此仍然使用大橋來做類比,2個CPU意味著大橋有2個通道,通車容量加倍第7張

  • 因此,2個CPU表示系統負載能達到2.0,並且每個CPU達到100%的工作負載。
  • n.0個CPU的電腦,可接受的系統負載最大為n.0個CPU。

五、多核CPU處理器

芯片供應商通常在1個CPU內部,包含多個CPU內核,被稱為“多核CPU”。

在系統負載方面,多核CPU類似於多CPU。

因此,在考慮系統負載時,必須考慮你的計算機有多少個CPU?並且每個CPU都有多少個核心?

然後,通過將系統負載除以核心總數,只要每個核心的負載不超過1.0,計算機就會如常運行。

如何知道一台電腦有多少CPU核心?

使用命令,允許你查看CPU信息 ▼

cat /proc/cpuinfo

直接返回CPU的核心總數的命令▼

grep -c 'model name' /proc/cpuinfo

六、load average時間該看哪個?

最後一個問題:

“load average”平均負載,總共返回三個平均值:

  • 1分鐘系統負載、5分鐘系統負載、15分鐘系統負載。

我應該參考哪個值?

  • 如果系統負載僅在1分鐘內大於1.0,則其他2個時間段小於1.0,這表明這只是暫時現象,問題並不嚴重。
  • 如果平均係統負載在15分鐘內(提高CPU核心數量後)大於1.0,則問題仍然存在,而不是暫時現象。
  • 因此,你應該主要觀察“15分鐘系統負載”作為計算機(電腦)如常運行的指示器。

以下是更多關於top命令/CPU使用率/load average計算方法 ▼

VPS負載太高怎麼辦?

現在我的網站無法訪問,因為負載太高,怎麼辦?

top – 20:44:30 up 12 min, 1 user, load average: 2.21, 8.39, 6.48

  • 你的服務器是自我管理的,你應該做的是通過SSH檢查你的服務器本身。
  • 檢查它正在運行什麼?什麼進程等等?
  • 如果需要,請嘗試重新啟動服務器。
  • 要是重啟服務器後,還是負載過高,請嘗試識別負載過高的進程,停止它。
  • 如有必要,單獨重新啟動進程(而不是服務器)。
  • 或諮詢客服“為何VPS/服務器負載過高”後,仍然無計可施,最終唯有提高服務器配置了。

外貿企業公司網站空間多大合適

如何選擇合適的服務器配置?點擊以下鏈接查看日均1萬IP服務器解決方案 ▼

希望陳溈亮博客( https://www.chenweiliang.com/ ) 分享的《Linux Load Average過高多少合適? CPU Load使用率檢查》,對您有幫助。

歡迎分享本文鏈接:https://www.chenweiliang.com/cwl-1027.html

歡迎加入陳溈亮博客的Telegram 頻道,獲取最新更新!

🔔 率先在頻道置頂目錄獲取寶貴的《ChatGPT 內容行銷AI 工具使用指南》! 🌟
📚 這份指南蘊含價值巨大,🌟難逢的機遇,切勿錯失良機! ⏰⌛💨
喜歡就分享和按贊!
您的分享和按贊,是我們持續的動力!

 

發表評論

您的電子郵箱地址不會被公開。 必填項已用 * 標註

滾動到頂部