伺服器變慢負載高時,需要先查看cpu負載是否過高,如果cpu負載高再看查看具體是什麼進程佔用cpu資源。
一、cpu負載:
透過top指令檢視:
主看「load average」可理解為分別表示前 1、5、 15分鐘的平均負荷。通常1核心的cpu不應超過4,如是4核心cpu則不應超16(即:cpu核數 * 4),超過則表示負載較高有異常。
其他參數說明如下:
us(user time)表示CPU執行使用者程序的時間,包含ni時間。通常我們只看這項。
sy(system time) 表示CPU在核心運行時間,包括IRQ和softirq時間,系統CPU佔用率高,表示系統某部分有瓶頸,通常值越低越好。
wa(waiting time) CPI在等待I/O作業完成所花費的時間,系統不應該花費大量時間來等待I/O操作,否則表示I/O有問題。
id(idle time) 系統處於空閒期,等待進程運作。
ni(nice time) 系統調整行程優先權所花費的時間。
hi(hard irq time) 系統處理硬中斷所花費的時間。
si(softirq time) 系統處理軟體中斷所花費的時間。
st(steal time) 被迫等待虛擬CPU的時間,此時hypervisor正在為另一個虛擬處理器服務。
二、查詢佔用cpu的進程
繼續透過top指令查看:
可以清楚發現php -fpm進程很佔資源。 php-fpm、mysql、httpd、nginx等都是網站web進程如存在大量的佔用資源現象通常說明網站訪問量大。這時可以開啟網站的訪問日誌進行分析,一般來講訪問日誌大的其網站佔用資源也大。需要打開日誌具體查看分析看是本身訪問量大還是否存在異常訪問所致(如:某類蜘蛛的大量爬行,某程序連接的執行異常,受cc攻擊等)。
以上是linux雲端伺服器如何透過top看CPU效能指標的詳細內容。更多資訊請關注PHP中文網其他相關文章!