1. 程式人生 > 實用技巧 >5月4日

5月4日

10.1 使用w檢視系統負載

1. 使用w檢視系統負載(主要檢視CPU的負載)

blob.png


解釋:linux管理員最常用的命令就是這個w了,該命令顯示的資訊很豐富。第一行從左至右顯示的資訊依次為:時間、系統執行時間、登入使用者數、平均負載。

第二行開始的所有行則是告訴我們:當前登入的使用者名稱及其登入地址等。

注意:在這裡面最應該關注的應該是第一行中的load average:後面三個數值。

第一個數值表示一分鐘內系統的平均負載值。

第二個數值表示五分鐘內系統的平均負載值。

第三個數值表示十五分鐘內系統的平均負載值。

備註:我們著重看第一個值,它表示單位時間段內使用cpu的活動程序數(在這裡其實就是一分鐘內)值越大就說明伺服器壓力越大。一般情況下,這個值只要不超過伺服器的cpu數量就沒有關係,如果伺服器的cpu數量為8,那麼值小於就說明當前伺服器沒有壓力,否則就要關注下。

1.1 檢視伺服器有幾個CPU核數 (邏輯CPU)

這裡的processor計數從0開始,也就是說第一個顯示為0,第二個顯示為1

命令:cat /proc/cpuinfo

blob.png

1.1.1檢視當前系統有幾個cpu

命令:grep -c 'processor' /proc/cpuinfo

blob.png

10.2 vmstat命令

一、1.vmstat命令的含義為顯示虛擬記憶體狀態(“Viryual Memor Statics”),它可以報告關於程序、記憶體、I/O等系統整體執行狀態。讓我們知道系統的使用瓶頸在哪裡。

blob.png

解釋相關程序的作用,重點關注r、b、si、so、bi、bo這幾列資訊:

blob.png

2. procs顯示程序的相關資訊。

2.1 r (run):表示執行或等待CPU時間片的程序數。說明:不要誤以為等待CPU時間片意味著這個程序沒有進行,實際上某一時刻一個CPU只能有一個程序,其他程序只能排著隊等著,此時這些排隊等待CPU資源的程序依然是執行狀態。該數值如果長期大於伺服器CPU的個數,則說明CPU資源不夠用了。

2.2 b (block):表示等待資源的程序數,這個資源指的是I/O、記憶體等。舉個例子:當磁碟讀寫非常頻繁時,寫資料就會非常慢,此時CPU運算很快就結束了,但程序需要把計算的結果寫入磁碟,這樣程序的任務才算完成,那此時這個程序只能慢慢地等待,這樣這個程序就是這個b狀態。該數值如果長時間大於1,則需要關注一下。

3. memory顯示記憶體的相關資訊

swpd:表示切換到交換分割槽中的記憶體數量,單位為KB。

free:表示當前空閒的記憶體數量,單位為KB。

buff:表示(即將寫入磁碟的)緩衝大小,單位為KB。

cache:表示(從磁碟中讀取的)快取大小,單位為KB。

4. swap顯示記憶體的交換情況。

si:表示由交換區寫入記憶體的資料量,單位為KB。

so:表示由記憶體寫入交換區的資料量,單位為KB。

5. io顯示磁碟的使用情況。

bi:表示從塊裝置讀取資料的量(讀磁碟),單位為KB。

bo:表示從塊裝置寫入資料的量(寫磁碟),單位為KB。

6. system顯示採集間隔內發生的中斷次數。

in:表示在某一時間間隔內觀測到的每秒裝置的中斷次數。

cs:表示每秒產生的上下文切換次數。

7. cpu顯示CPU的使用狀態。

us:顯示使用者下花費CPU的時間百分比。

sy:顯示系統花費CPU的時間百分比。

id:表示CPU處於空閒狀態的時間百分比。

wa:表示I/O等待所佔用CPU的時間百分比。

st:表示被偷走的CPU所佔百分比(一般都為0,不用關注)

二、關注r列,b列,和wa列

另外當si, so兩列的數值比較高,並且在不斷變化時,說明記憶體不夠了


10.3 top命令

1.top命令查看程序使用資源情況

top命令用於動態監控程序所佔的系統資源,每隔3秒變一次。它的特點是把佔用系統資源(cpu、記憶體、硬碟I/O等)最高的程序放到最前面

blob.png

關注的也就是幾項:%CPU, %MEM, COMMANDload averagetasks

2.top -c命令顯示詳細程序命令資訊

blob.png

3. top -bn1 命令靜態顯示所有程序

blob.png

備註:

q退出top,數字1顯示所有核cpu

大寫字母M按記憶體使用排序

大寫字母Pcpu使用排序

kill+pid 殺死程序

RES表示程序佔用的記憶體數量。

10.4 sar命令

1. sar監控系統狀態(主要檢視歷史的網絡卡流量

ar 命令很強大,被戲稱為瑞士×××。它可以監控系統幾乎所有資源的狀態,比如平均負載、網上流量、磁碟狀態,記憶體使用等。與其他系統狀態監控工具不同,它主要可以列印歷史資訊可以顯示當天從零點開始到當前時刻的系統狀態資訊。

2. 使用yum安裝sysstat獲得,命令:yum install -y sysstat 安裝

初次使用sar命令會報錯,那是因為sar工具還沒有生成相應的資料庫檔案(每隔10分鐘生成資料)。它的資料庫檔案在 “/var/log/sa/” 目錄下,預設儲存一個月

blob.png

3. 檢視網絡卡流量歷史命令:sar -n DEV

blob.png

解釋:

IFACE這一列表示裝置名稱.

rxpck/s這一列表示每秒進入收取的包的數量有多少。

txpck/s這一列表示每秒傳送出去的包的數量有多少。

rxkB/s這一列表示每秒收取的資料量(單位為KB)。

txkB/S這一列表示每秒傳送的資料量。

如果rxpck/s 那一列的數值大於4000,或者rxkB/s那一列的數值大於50000000,很有可能是被***了,正常的伺服器網絡卡流量不會這麼高,除非是你自己在複製資料

4.實時檢視網絡卡流量命令:sar -n DEV 1 5

blob.png

5 檢視某一天網絡卡流量歷史,.使用-f選項,後面跟檔名 (預設會儲存30)

命令:sar -n DEV -f /var/log/sa/sa30

blob.png

(在Red Hat或者CentOS發行版中,sar的庫文件一定在/var/log/sa/目錄下)

6.檢視歷史負載命令:sar -q

blob.png

7.歷史磁碟讀寫命令:sar -b

blob.png

10.5 nload命令

1. sar雖然可以檢視網絡卡流量,但是不夠直觀,還有一個更好用的工具,

那就是nload更直觀的檢視網絡卡進出流量

1.1 安裝nload命令:

先安裝:yum install -y epel-release 安裝擴充套件源

再安裝:yum install -y nload 因為nload依賴於epel-release

1.2 使用命令:nload (q退出介面)

blob.png

說明:

Incoming為進入網絡卡的流量。

Outgoing為網絡卡出去的流量。

主要關注Curr那行的資料,其單位也可以動態自動調整。

q退出該介面。





轉載於:https://blog.51cto.com/404006045/2112897