29.w 命令:vmstat top sar nload

10.1 使用w查看系統負載linux

10.2 vmstat命令shell

10.3 top命令服務器

10.4 sar命令網絡

10.5 nload命令ui

 

 

10.1 使用w查看系統負載:blog

 

~1. w/uptime 查看系統負載排序

load average: 0.97, 0.28, 0.09進程

每段表示一分鐘、五分鐘、十分鐘系統負載的值是多少,該數值跟cpu有關係,單位時間段內,使用cpu活動的進程有多少個內存

第一段表示(咱們常常會看第一段,他表明系統當前的負載狀況),一分鐘內使用cpu活動的進程有多少個,這是一個平均值。0.00表示系統空載,這樣的就有點資源浪費。那麼表示多少最理想呢,要看他的邏輯cpu數量,使用下面的 cat /proc/cpuinfo來看,看第一段 processor : 0,o表示只有一顆邏輯cpu,1表示2顆,以此類推。資源

因此,假若有8顆邏輯cpu,那麼他最理想的值就是不高於8.

第一段,第二段同理。分別表明五分鐘,十五分鐘的負載值

 

uptime 可查看 w 命令後的第一段,日常咱們用 w 看就能夠了

~2. cat /proc/cpuinfo 查看cpu核數

主要看第一段 processor : 0,表明邏輯cpu數,咱們一般只考慮邏輯cpu就能夠了,不用考慮物理cpu。由於物理cpu又會分爲幾核,與邏輯cpu數量

 

實例:

1.

[root@axinlinux-01 ~]# w

12:38:57 up 0 min, 1 user, load average: 0.97, 0.28, 0.09

系統時間 啓動多少分鐘 目前登陸幾個用戶 關鍵,系統負載 每段表示一分鐘、五分鐘、十分鐘系統負載的值是多少

該數值跟cpu有關係,單位時間段內,使用cpu活動的

進程有多少個

登陸的用戶

可從下面看到

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

用戶是誰 登陸的終端 地址 登陸的時間 空閒了多長時間 使用cpu的時間,不用關注 命令

root pts/0 192.168.159.1 12:38 1.00s 0.11s 0.03s w

[root@axinlinux-01 ~]# date

2018年 07月 10日 星期二 12:39:20 CST

[root@axinlinux-01 ~]# uptime

13:05:33 up 27 min, 1 user, load average: 0.00, 0.01, 0.05

2.

[root@axinlinux-01 ~]# cat /proc/cpuinfo

processor : 0 一般主要看這一行,表明多少邏輯cpu,0表示只有1個,5表示有6個。以此類推

vendor_id : GenuineIntel

cpu family : 6

model : 37

model name : Intel(R) Core(TM) i3 CPU M 350 @ 2.27GHz

--

-

 

----------------------------------------------------------------------------------------------------------------------------------------------------

 

10.2 vmstat命令:

 

若是負載值大於cpu核數了,就表示cpu不夠用了。這個時候就要想是什麼緣由致使的cpu不夠用,這個時候個人進程在幹什麼,都有哪些任務在使用個人cpu。可能進一步的去想系統的瓶頸在哪裏。因此咱們會用到vmstat

 

~1. vmstat 監控系統狀態

~ 用法 vmstat 1

1表示每一秒鐘動態顯示一次

也可 vmstat 1 5表示,每一秒鐘動態顯示一次,共顯示5次

~2. 關鍵的幾列: r,b,swpd,si,so,bi,bo,us,wa

· r即run的簡寫,表示有多少個進程處於run的狀態

假如只有一個cpu,而且有十個進程。就必需要排隊,等待cpu分配資源。由於某一個時刻只能有一個進程使用cpu,也就是說等排隊輪到你的時候,才能到你來使用cpu。不過是循環的,等下一次循環能夠再次使用cpu。

因此。只要是在排隊狀態,他就是r的狀態

· b即block的簡寫,表示被cpu之外的資源,好比被硬盤、網絡等給阻斷了,處於一個等待狀態(可理解爲卡死了)

假如要給這個進程分配一個數據包。可是網速太慢,原本只須要1秒,結果用了10秒,因此就只能等網速了,這個就是有多少個進程在等待

· swpd以前有講,當內存不夠的時候,可臨時把數據放在swap空間裏面去。因此要關注這個數字,當這個數字不變的時候還好,沒有關係。若是這個數字變的時候,一會多了一會少了,那就說明,交換分區和內存在頻繁的交換數據,那麼,就只有一個說明一個結果,就是你的內存不夠了

· si so與swpd是有關聯的,若是swpd這一列在頻繁的變,那si so也是存在數字變動的

si即爲in,表示有多少個數字,有多少的塊。單位是KB。有多少KB的數字,進入到內存中

so即爲out,表示從內存裏出來的

si so他們的參照物都是內存,分別表明有多少是從內存裏進去的,有多少是從內存了出來的

· bi bo是跟磁盤有關係的

bi表示從磁盤裏出來,進入到內存裏面去。也就是讀,讀的數據量有多少

bo表示寫,寫入到磁盤裏面去

若是這個兩個數字很大的話,表明磁盤在頻繁的讀寫。也會形成 b 列增長,由於會形成不少進程在等待。這是在變的

· us即爲user,表示用戶級別的,用戶佔用是多少。這個數字不會超過100,由於是百分比

用戶的一些資源,佔用了cpu的百分比。若是這個數字長時間大於50,就說明系統資源不夠了

· sy表示系統,系統自己的進程或服務。所佔用的cpu的百分比

` id表示空閒

·· us+sy+id等於一百,是這樣的百分比

· wa表示等待,跟 b 是有點相似的。是等待cpu的百分比。若是這一列很大,表明cpu不夠

 

 

 

 

 

實例:

1.

[root@axinlinux-01 ~]# vmstat

procs -----------memory---------- ---swap-- ----- io---- -system-- ------cpu-----

內存 虛擬磁盤/交換分區 磁盤 系統進程

r b swpd free buff cache si so bi bo in cs us sy id wa st

1 0 0 1595568 2076 155768 0 0 27 1 43 41 0 0 99 1 0

[root@axinlinux-01 ~]# vmstat 1 按ctrl+c結束

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----

r b swpd free buff cache si so bi bo in cs us sy id wa st

1 0 0 1595468 2076 155800 0 0 24 1 41 38 0 0 99 0 0

0 0 0 1595452 2076 155800 0 0 0 0 67 52 0 1 100 0 0

0 0 0 1595452 2076 155800 0 0 0 0 46 42 0 0 100 0 0

0 0 0 1595452 2076 155800 0 0 0 0 46 38 0 0 100 0 0

0 0 0 1595452 2076 155800 0 0 0 0 106 77 1 1 99 0 0

0 0 0 1595452 2076 155800 0 0 0 0 45 38 0 0 100 0 0

0 0 0 1595452 2076 155800 0 0 0 0 39 32 0 0 100 0 0

^C

[root@axinlinux-01 ~]# vmstat 1 5 顯示五行自動中止

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----

r b swpd free buff cache si so bi bo in cs us sy id wa st

1 0 0 1595468 2076 155800 0 0 23 1 41 38 0 0 99 0 0

0 0 0 1595452 2076 155800 0 0 0 0 112 79 0 0 100 0 0

0 0 0 1595452 2076 155800 0 0 0 0 98 72 0 0 100 0 0

0 0 0 1595452 2076 155800 0 0 0 0 79 61 0 0 100 0 0

0 0 0 1595452 2076 155800 0 0 0 0 42 36 0 0 100 0 0

 

----------------------------------------------------------------------------------------------------------------------------------------------------

 

 

10.3 top命令:

 

如上所知,w是查看系統負載,vmstat是查看/監控系統狀態。

那麼咱們能不能知道具體哪一個進程呢,因此這時候就用到了top

 

~1. top 查看進程使用資源狀況

三秒鐘顯示一次,動態的

· 第一行跟 w 查看的是同樣的

· 第二行,有多少個total(進程)。

有多少處於r狀態,多少個處於sleeping狀態(休眠),也不是永久休眠,多是暫時休眠。

有多少stopped。有多少zombie(殭屍狀態),好比主目錄被刪除,只留下了子文件,也沒人管他了

· 第三行,cpu佔用狀況。

一樣us+sy+id等於百分百

常常關注us,長時間在60%以上,對cpu很差。cpu風扇長時間再轉,就表明cpu處於工做狀態

若是us百分比很高,那麼系統負載就會很高。由於us百分比高了,其餘的進程過來就得排隊,就會形成系統負載增高

st表明被偷走了的cpu百分比。若是服務器作了一些虛擬化,他會有一些虛擬機頗有可能會偷走一部分cpu

· 第四行第五行表示內存使用狀況。

Kib Mem表示物理內存。Kib swap表示交互分區

基本上只會關注Kib Mem,total(總共內存)有多大,還有多少free(剩餘內存),使用了多少(used)

下面的是咱們重點須要去關注的,

%cpu和%Mem(內存)會以百分比的多少來進行排序,佔比多的排在上面

RES是物理內存大小(單位是KB)

 

 

~ top -c 顯示詳細的進程信息

可顯示這個進程的據對路徑

~ top -bn1 靜態顯示全部進程

一次性的列出全部的進程,適合在寫shell腳本時用到

~ q 退出,數字1顯示全部核cpu,大寫字母M按內存使用排序

按字母 q 退出top

按大寫的M是切換內存排序。按大寫的P是按cpu排序

按數字 1 能夠顯示全部的CPU佔比狀況,在上面

~ 大寫字母P按cpu使用排序

~pid可理解爲這個進程的序號,使用 q+pid 能夠殺死這個進程

 

 

 

實例:

1.

[root@axinlinux-01 ~]# top

top - 14:12:18 up 1:34, 1 user, load average: 0.00, 0.01, 0.05 第一行,跟w查看的是同樣的

Tasks: 95 total, 1 running, 94 sleeping, 0 stopped, 0 zombie 第二行

總共進程 多少在運行的 多少休眠的 多少中止的 多少殭屍的

%Cpu(s): 0.2 us, 0.2 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st 第三行

us(用戶使用)+sy(系統使用)+id(空閒)=100% st表示被偷走的

KiB Mem : 1875504 total, 1589060 free, 123584 used, 162860 buff/cache 第四行(一般會關注)

物理內存 總共多少大 還剩多少 使用了多少

KiB Swap: 1999868 total, 1999868 free, 0 used. 1575888 avail Mem

交換分區

如下爲之後主要關注的

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

RES 物理內存大小(單位KB)

112 root 20 0 0 0 0 R 0.3 0.0 0:01.95 kworker/1:2

512 root 20 0 305408 6372 4924 S 0.3 0.3 0:04.20 vmtoolsd

874 root 20 0 562432 16580 5912 S 0.3 0.9 0:00.88 tuned

1 root 20 0 128208 6844 4080 S 0.0 0.4 0:02.42 systemd

 

 

 

----------------------------------------------------------------------------------------------------------------------------------------------------

 

 

 

10.4 sar命令:

 

sar命令是很是全面的分析系統的命令

主要來查看網卡的流量,也能夠查看內存或磁盤的狀態。

sar被人們稱做linux裏面的瑞士軍刀,也就是說內容很是複雜,功能很是豐富

 

要安裝,yum install -y sysstat

 

直接運行sar,不加任何的參數,會報錯。由於直接sar,他會去調用默認的歷史文件(/var/log/sa)

sar的特性,他會每十分鐘,會把系統的狀態過濾一遍,抓取保存在文件裏。這個文件就存在這個目錄裏

 

~1. sar -n DEV 網卡流量

sar -n DEV 1 動態顯示網卡流量

sar -n DEV 1 10 動態顯示網卡流量10次

rxpck/s 接收到的數據包(單位是數字,多少個)

txpck/s 發出去的數據包 (單位是數字,多少個)

rxkB/s 接受的數據量(單位是KB,多少許)

txkB/s 發出去的數據量(單位是KB,多少許)

後面三個不用管,不會超過0

接受的數據包,和接受的數據量多少算正常呢,幾千個數據包都算正常,上萬的話不正常(表明被攻擊了)

下圖爲正常服務器的數據量或數據包的接收量

~2. sar -q 系統負載

一般會用到這個命令查看歷史數據

~3. sar -b 磁盤讀寫

查看讀和寫

~4. sar -f /var/log/sa/saxx 歷史文件

-f指定查看那個文件,或想看哪一天的

是個二進制文件,只能用sar -f看。不能cat

後面的xx表明那天生成的歷史文件。這個目錄下,最多保留一個月,咱們要找哪天就寫幾號就能夠了

/var/log/sarxx 歷史文件

sarxx文件是能夠cat的。這是與saxx文件的區別

 

 

實例:

1.

[root@axinlinux-01 ~]# sar -n DEV 1 10

Linux 3.10.0-693.el7.x86_64 (axinlinux-01) 2018年07月10日 _x86_64_ (2 CPU)

 

23時06分16秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s

接收或發出去的數據包(以數字顯示) 接收或發出去的數據量(以KB顯示)

23時06分17秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00

23時06分17秒 ens33 0.00 0.00 0.00 0.00 0.00 0.00 0.00

 

23時06分17秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s

23時06分18秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00

23時06分18秒 ens33 1.00 1.00 0.06 0.41 0.00 0.00 0.00

 

 

 

----------------------------------------------------------------------------------------------------------------------------------------------------

 

 

 

10.5 nload命令:

 

 

 

~. yum install -y epel-release 要先安裝epel-release

~. yum install -y nload 再安裝nload

~1. 直接敲nload就會顯示實時的監控網卡的界面。一個頁面顯示一個網卡,按向右的方向鍵可切換城下一個

~ 按 q 退出。

 

 

小知識點:

咱們講帶寬的時候,一般說的是出去的帶寬(outgoing)

假如咱們買的帶寬是100MB的,outgoing的curr都七八十兆了,就表明帶寬快滿了

假若有攻擊的話,進來的數字(incoming)就會很大,看curr就會看的到

 

 

實例:

1.

[root@axinlinux-01 ~]# nload

Device ens33 [192.168.159.128] (1/2):

網卡的名字 地址 表示兩個,按向右的方向鍵可切換

=====================================================================================================================================

Incoming:

進來的

 

 

 

Curr: 1.01 kBit/s 當前值

Avg: 1.21 kBit/s 平均值

Min: 1.01 kBit/s 最小值

Max: 2.17 kBit/s 最大值

Ttl: 9.25 MByte

Outgoing:

出去的

 

 

 

 

Curr: 8.70 kBit/s

Avg: 8.62 kBit/s

Min: 4.64 kBit/s

Max: 9.88 kBit/s

Ttl: 2.86 MByte

相關文章
相關標籤/搜索