10.1-10.5 w查看系統負載 vmstat , top, sar, nload
10.1 使用w查看系統負載
10.2 vmstat命令
10.3 top命令
10.4 sar命令
10.5 nload命令
10.1 使用w查看系統負載
介紹
W命令
#W
[root@centos7 sed]# w
14:22:44 up 4:29, 1 user, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.189.1 09:53 4.00s 0.59s 0.02s w
第一段內容分別是
系統時間,登錄時長,登錄用戶(登錄用戶信息在第二行),
第二段
登錄用戶信息,
TTY如果是網絡登錄,會用pts/0顯示 。如果是本機登錄,則會用tty1顯示。
load average: 0.00, 0.01, 0.05,此項是關鍵,系統負載。
負載三段數值0.00, 0.01, 0.05,對應的分別是1分鐘,5分鐘,15分鐘的負載值。
負載值的大小取決於CPU。數值表示單位時間段內使用CPU的活動的進程有多少個,是一個平均值。
查看cpu信息
[root@centos7 sed]# cat /proc/cpuinfo
負載值最理想的值是1(processor為0的情況下).
第一段負載值是最關鍵的,最能體現到系統負載情況。
LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.189.1 09:53 4.00s 0.59s 0.02s w
10.2 vmstat命令
當負載值大於邏輯CPU核數,此時表示CPU不夠用了。
#vmstat 命令監控系統的狀態
[root@centos7 sed]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 0 739100 2076 140788 0 0 6 1 45 54 0 0 100 0 0
用法
#vmstat 1 動態顯示進程情況,每一秒輸出一次。直到按ctrl+c結束
#vmstat 1 5 動態顯示進程,每一秒顯示一次,只顯示5次,自動結束。
vmstat只需要關註
r run 表示有多少個進程處於run狀態,運行或等待CPU時間片的進程數。 假如系統有1個CPU,但是有10個進程想使用這個CPU,那麽10個當中只有一個進程能使用此CPU,其他進程都需要排隊,在排隊的進程就是出於run狀態了。所以r為2的意思是有2個進程在排隊。此過程會進行循環。
b block 此進程被CPU以外的資源(硬盤、網絡、內存、I/O)阻斷了。b值表示有多少個進程在等待。
swapd 當物理內存使用不足的情況話,系統會把一部分空間拿出來,臨時放到swap空間上去。
如果此數值不穩定,表示swap分區和內存在頻繁交換數據,這種情況就是內存不夠。
si 與swpd值有關聯。有多少kb的數據從swap寫入到內存中。i=in 進入到內存去。
so 與swpd值有關聯。有多少kb的數據從內存裏出來的。o=out 從內存裏出來的。
磁盤
bi 從磁盤讀取數據的量。進入到內存裏去。讀的數據量。
bo 從磁盤寫入數據的量。寫的數據量
us 顯示用戶下所花費CPU的時間百分比。數值一般不會超過100.長時間大於50,說明系統資源不夠。
sy 顯示系統花費CPU的時間百分比。
id IDLE,空閑。表示CPU處於空閑狀態的時間百分比。
us+sy+id+wa=100
wa 表示I/O等待所占用CPU的時間百分比。
總結:#vmstat命令可以判斷出系統的瓶頸在哪兒。CPU不夠、還是內存不夠,或者是磁盤不夠大。
10.3 top命令
#top
top - 16:39:16 up 6:46, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 86 total, 1 running, 85 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1008152 total, 738396 free, 126572 used, 143184 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 719984 avail Mem
介紹tasks
total 總共
running 相當於vmstat的r
sleeping 休眠,暫時休息的意思。
stopped 已停止
zombie 僵屍進程
關註點
us 60%以上會對CPU比較傷
物理內存使用情況
KiB Mem : 1008152 total, 738396 free, 126572 used, 143184 buff/cache
交換分區使用情況
KiB Swap: 2097148 total, 2097148 free, 0 used. 719984 avail Mem
用top重點查看的還是下面的進程使用系統資源的詳細狀況,其中需要%CPU、%MEM和COMMAND這幾項所代表的意義。RES這一項為進程所占的內存大小,而%MEM這一項為使用內存的百分比.
在top狀態下,按shift+m鍵可以按照內存使用大小排序,切換回CPU排序,按P。按數字1可以列出所有核CPU的使用狀態,按q鍵可以退出top。
默認情況下,是按%CPU大小排序,由高到底。
%CPU CPU使用率,
%MEM 指內存,
RES物理內存大小,單位k。在計算機計算容量時 系統往往不會精準至1024,往往都是以1000來計算。
q退出,
#top -c 可以查看具體命令,全局路徑,詳細
#top -bn1 靜態顯示所有頁面,適用於寫腳本。
#kill+pid 能殺死進程
top -bn1靜態快照
按數字1顯示所有CPU核心的資源使用
top -c 更加詳細的command顯示
10.4 sar命令
sar命令很強大,它可以監控系統幾乎所有資源的狀態,比如平均負載、網卡流量、磁盤狀態、內存使用等。與其他系統狀態監控工具不同,它可以打印歷史信息,可以顯示當天從零點開始到當前時刻的系統狀態信息。
安裝sar命令
# yum install -y sysstat
使用#sar命令 最好加選項
查看網卡流量
#sar -n DEV 1 5 一秒鐘輸出一次,一共輸出五次
[root@centos7 ~]# sar -n DEV 1 5
舉例
17時57分15秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
17時57分16秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
17時57分16秒 ens33 1.02 1.02 0.06 0.19 0.00 0.00 0.00
第一列 時間
第二列 IFACE 設備
第三列 rxpck/s,每秒進入收取的包的數量。r receive
第四列 txpck/s,每秒發送出去的包的數量。t transfor
第五 rxkB/s,每秒收取的數據量,單位kb
第六 txkB/s,每秒傳送的數據量,單位kb
關註
rxpck/s 如果大於10000,需要關註了,有可能被攻擊了。
rxkB/s 如果大於5000000,需要關註
指定文件查看 -f
/var/log/sa/sa19這文件的定義是根據文件生成的當天時間,例如在2018年3月19日生成的,則命名會以sa19命名。
/var/log/sa/下的文件 最多保留一個月。
!!!!其實還有一個文件是sar19,sa19與sar19區別在。
sa19是二進制文件,不可以#cat等查看命令加載查看它的信息,只能用#sar相關命令去加載它的數據。
sar19是可以直接#cat的。
#sar -q用法
[root@centos7 ~]# sar -q
Linux 3.10.0-693.el7.x86_64 (centos7.4-01) 2018年03月19日 _x86_64_ (1 CPU)
17時50分01秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
18時00分01秒 1 104 0.00 0.01 0.05 0
18時10分01秒 2 104 0.01 0.02 0.05 0
18時20分01秒 1 104 0.00 0.01 0.05 0
18時30分01秒 1 105 0.00 0.01 0.05 0
平均時間: 1 104 0.00 0.01 0.05 0
#sar -q 有助於我們查看服務器過去某個時間的負載狀況。
10.5 nload命令
安裝nload
1.安裝之前需要安裝epel-release
2.yum install -y nload
#nload
Device ens33 [192.168.189.128] (1/2):
網卡名稱 ip地址 其中一個網卡
按右箭頭可以查看其他網卡的網絡流量。輸出結果分為兩部分,Incoming為進入網卡的流量,Outgoing為網卡出去的流量,我們關註的是Curr哪行數據,其單位也可以動態自動調整,非常人性化,按q退出。
10.1-10.5 w查看系統負載 vmstat , top, sar, nload