使用w查看系統負載、vmstat命令、top命令、sar命令、nload命令

監控系統狀態

• w/uptime 查看系統負載
• cat /proc/cpuinfo 查看cpu核數linux

• vmstat 監控系統狀態
• 用法 vmstat 1
• 關鍵的幾列:r,b,swpd,si,so,bi,bo,us,wa服務器

• top查看進程使用資源狀況
• top -c 顯示詳細的進程信息
• top -bn1 靜態顯示全部進程
• q退出,數字1顯示全部核cpu,大寫字母M按內存使用排序
• 大寫字母P按cpu使用排序網絡

 

w/uptime查看系統負載

[root@glinux-01 ~]# w
 11:25:57 up 1 day, 14:58,  1 user,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.244.1    11:25    3.00s  0.15s  0.07s w

 11:25:57(系統時間) up 1 day(啓動了多少時間), 14:58,  1 user, (1個用戶。系統登陸是tty1-6,pts/0是經過遠程登陸的) load average: 0.00, 0.01, 0.05優化

  • 查看的內容是 load average
  1. 第一個值:1分鐘內系統的平均負載;1分鐘內有多少個進程在使用咱們的cpu計算或者在等待排隊。ui

  2. 第二個值:5分鐘內系統的平均負載;5分鐘內有多少個進程在使用咱們的cpu計算或者在等待排隊。spa

  3. 第三個值:15分鐘內系統的平均負載;15分鐘內有多少個進程在使用咱們的cpu計算或者在等待排隊。日誌

  4. 負載越高,cpu的壓力越大,當數值高於cpu核數時,負載就高了。code

  • cpu概念:cpu並非來多少進程,它均可以所有爲你提供服務,由於cpu在摸個時刻內只能給一個進程或任務提供服務,其餘進程先排隊,按照優先級的順序一個一個的輪流使用cpu進行運算。

 

USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.244.1    11:25    3.00s  0.15s  0.07s w
  • user:用戶對象

  • TTY:在哪裏登錄排序

  • FROM:從哪裏登錄

  • LOGIN@:登錄時間

  • IDLE:空閒時間

  • JCPU:當前終端上全部進程及子進程佔用cpu的時間

  • PCPU:當前進程佔用cpu的時間

  • WHAT:當前具體哪一個命令

查看cpu核數的命令:cat /proc/cpuinfo(processor )

[root@glinux-01 ~]# cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 23
model name	: Intel(R) Core(TM)2 Duo CPU     E7500  @ 2.93GHz
stepping	: 10
microcode	: 0xa07
cpu MHz		: 2925.419
cache size	: 3072 KB
physical id	: 0

 

  • processor     邏輯處理器的id。
  • physical id    物理封裝的處理器的id。
  • core id           每一個核心的id。
  • cpu cores     位於相同物理封裝的處理器中的內核數量。
  • siblings         位於相同物理封裝的處理器中的邏輯處理器的數量。

 vmstat 系統監控(顯示一次)

[root@glinux-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
 2  0      0 474664   2076 149684    0    0     1     0   42   38  0  0 100  0  0

vmstat 1 (1秒刷新顯示一次,無限顯示)

vmstat 1 5(1秒刷新一次,顯示5次)

proce進程信息

  • r:run ,表示有多少個進程使用或等待使用cpu
  • b: 被硬盤或網絡等因素阻斷等待的進程

memory內容信息

  • swpd : 有多少個數據量在被交換(單位KB):表示有多少數據量被拿到交換分區裏面。這個數值不變化,說明你的內存沒有問題,若是這個數值比較大而且頻繁的變更,這個時候就要注意你的內存可能不夠,或者是內存溢出(程序寫的有問題)。
  • free : 內存還剩餘多少,單位爲KB。
  • buff:表示即將寫入磁盤的緩衝大小,單位爲KB。
  • cache:表示從磁盤中讀取的緩衝大小,單位爲KB。

swap顯示內容的交換狀況 

  • si:有多少數據進入內存
  • so:swap out 從內存裏面出來,對象是內存

這兩個值一直爲0或者很小,沒有什麼變化很穩定,說明內存夠,沒有瓶頸,若是這個值來回的變化很頻繁,長期大於0.,說明你的內存不夠

io顯示磁盤的使用狀況

  • bi :進入到內存中去,這意味從磁盤裏面讀出來: 讀磁盤
  • bo :從內存讀出來,這意味着寫入磁盤裏面去: 寫磁盤

這兩個值怎麼叫大呢,通常的服務器超過1000,就有必定壓力(一直是1000以上)就會產生瓶頸。 若是隻是偶爾1000,其餘時候都是0或者很小,就說明問題不大

system顯示採集間隔內發生的沖斷次數

  • in 終端
  • cs 上下文切換

這個兩個值在一秒鐘的次數

cpu 顯示cpu的使用狀態

  • us : 用戶進程佔用cpu的時間百分比
  • sy : 內核進程佔用cpu的時間百分比
  • id : CPU空閒狀態的時間百分比
  • wa : I/O等待所佔用cpu的時間百分比
  • st : 被偷走的的CPU所佔百分比(通常都爲0,不用關注)
  1. r,b 值很高說明系統負載很高,查看cpu是否有瓶頸。
  2. us 也很關鍵,若是us一直高於50或者接近100%說明某一個進程佔用cpu很大的資源,肯那個就是一些計算量很大的任務須要優化一下。
  3. 日常咱們去衡量一個系統的負載不只要看一份中內的負載load average值,還要查看cpu的us這個值得百分比。
  4. us +sy+id+wa =100%

top查看進程使用資源狀況

第一行顯示內容和w同樣

第二行顯示進程數,正在運行進程,休眠進程,中止進程,進程終止後爲終止子進程

第三行cpu使用狀況

第四行物理內存使用狀況

第五行虛擬內存使用狀況

第六行  

  • %cpu:佔用cpu百分比,從大到小排列
  • RES:佔用物理內存大小,單位字節
  • %MEM :內存大小, 
  • COMMAND:進程的名字
  • PID :進程id
  • USER: 哪一個用戶運行的
  • PR:範圍0~39;NI:範圍-20~19; 進程優先級,PR數值越小,優先級越高
  • VIRI:虛擬內存大小
  • SHR:共享內存
  • S:進場狀態
  1. 按M能夠按內存排序
  2. 按P能夠切回cpu排序,
  3. 按1能夠切換cpu
  4. q退出
  5. top -c 能夠查看進程的全局路徑
  6. top -bn1 靜態顯示所有進程信息(寫腳本時候用)
  7. kill 【pid】 殺死進程

sar 監控網卡流量

如未安裝,先yum install -y sysstat

查看網卡流量sar -n DEV 1 10 (每隔一秒顯示1次,總共顯示10次)

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

09時26分02秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
09時26分03秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09時26分03秒     ens33      1.00      1.00      0.06      0.18      0.00      0.00      0.00
  • 第一列顯示時間
  • 第二列網卡名字
  • 每秒接收到的數據包個數
  • 每秒發送出去的數據包個數
  • 每秒接受到的數據量kb
  • 每秒發送的數據量kb

rxpck/S正常的數據包個數在幾千範圍內,超過10000就要警戒異常了,可能被攻擊了

ls /var/log/sa 這個目錄天天會生成網卡日誌文件,名字按sa加當天日期,好比3月1日就是sa1

sar -n DEV -f /var/log/sa/sa13查看歷史日誌文件

次日該目錄下會生成sar13文件,能夠直接cat

[root@g_linux01 ~]# sar -n DEV -f /var/log/sa/sa13
Linux 3.10.0-693.el7.x86_64 (g_linux01) 	2018年03月13日 	_x86_64_	(1 CPU)

09時00分02秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
09時10分01秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09時10分01秒     ens33      0.17      0.05      0.02      0.00      0.00      0.00      0.00

sar -q 系統負載  好比查看13號:sar -q -f /var/log/sa/sa13

sar -b 磁盤讀寫

[root@g_linux01 ~]# sar -b
Linux 3.10.0-693.el7.x86_64 (g_linux01) 	2018年03月13日 	_x86_64_	(1 CPU)

09時00分02秒       tps      rtps      wtps   bread/s   bwrtn/s
09時10分01秒      0.08      0.00      0.08      0.05      0.96
09時20分01秒      0.03      0.00      0.03      0.00      0.33
tps 每秒鐘物理設備的 I/O 傳輸總量
rtps 每秒鐘從物理設備讀入的數據總量
wtps 每秒鐘向物理設備寫入的數據總量
bread/s 每秒鐘從物理設備讀入的數據量,單位爲 塊/s
bwrtn/s 每秒鐘向物理設備寫入的數據量,單位爲 塊/s

nload監控網卡流量

如未安裝。先安裝yum install epel-release

yum install -y nload

運行 nload

第一行,網卡名字,ip,網卡個數,按方向鍵能夠切換每一個網卡,q退出

curr當前值 avg平均值 min最小值 max最大值

相關文章
相關標籤/搜索