1. 程式人生 > >5月4日

5月4日

linux

10.1 使用w查看系統負載

1. 使用w查看系統負載(主要查看CPU的負載)

技術分享圖片


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

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

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

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

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

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

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

1.1 查看服務器有幾個CPU核數 (邏輯CPU)

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

命令:cat /proc/cpuinfo

技術分享圖片

1.1.1查看當前系統有幾個cpu

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

技術分享圖片

10.2 vmstat命令

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

技術分享圖片

解釋相關進程的作用,重點關註r、b、si、so、bi、bo這幾列信息:

技術分享圖片

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等)最高的進程放到最前面

技術分享圖片

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

2.top -c 命令顯示詳細進程命令信息

技術分享圖片

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

技術分享圖片

備註:

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/” 目錄下,默認保存一個月

技術分享圖片

3. 查看網卡流量歷史 命令:sar -n DEV

技術分享圖片

解釋:

IFACE這一列表示設備名稱.

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

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

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

txkB/S這一列表示每秒發送的數據量。

如果rxpck/s 那一列的數值大於4000,或者rxkB/s那一列的數值大於50000000,很有可能是被攻擊了,正常的服務器網卡流量不會這麽高,除非是你自己在復制數據

4.實時查看網卡流量命令:sar -n DEV 1 5

技術分享圖片

5 查看某一天網卡流量歷史,.使用-f選項,後面跟文件名 (默認會存儲30)

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

技術分享圖片

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

6.查看歷史負載 命令:sar -q

技術分享圖片

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

技術分享圖片

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退出界面)

技術分享圖片

說明:

Incoming為進入網卡的流量。

Outgoing為網卡出去的流量。

主要關註Curr那行的數據,其單位也可以動態自動調整。

q退出該界面。





5月4日