1. 程式人生 > >日常運維(一)

日常運維(一)

系統命令

監控系統狀態
w、uptime 查看系統負載

w 查看系統負載

系統時間、運行時間、登錄用戶數、平均負載1min 5min 15min

技術分享圖片

tty1 系統登錄用戶  pts/0 遠程登錄用戶 

cat /proc/cpuinfo 查看cup核數

processor 0 為 1顆  1為2顆   邏輯CUP

vmstat 監看系統狀態

 vmstat 1 用法 每秒刷新1次  ctrl +c 終止
 vmstat 1 5  每1秒刷新一次 只刷5次

技術分享圖片

關鍵列: r、b、swpd、si、so、bi、bo、us、wa、 proc 進程信息字段 

 r : 等待運行的進程樹,數量越大,系統約繁忙。run 有多少個進程處於run運行狀態

b:block 等待狀態,不可被喚醒的進程數量,數量越大,系統越繁忙。 

memory:內存信息字段

swpd: 虛擬內存使用情況,單位KB

free:空閑的內存容量,單位KB

buff:緩沖的內存容量,單位KB

cache:緩存的內存容量,單位KB 

緩沖緩存區別

簡單來說緩存(cache)是用來加速數據從硬盤中"讀取"的

而緩沖(buffer)是用來加速數據"寫入"硬盤的

swap:交換分區信息字段

si:從硬盤中交換到內存中數據的數量,單位KB     從硬盤  in 進 內存
so:從內存中交換到磁盤中數據的數量,單位KB    從內存 on 出 硬盤
#此兩位數(si,so)越大,證明數據需要經常在磁盤和內存之間交換,系統性能越差

 io:磁盤讀寫信息字段

bi:從快設備讀入數據的總量,單位是快
bo:寫到快設備的數量的總量,單位是快
#此兩個數(bi,bo)越大,代表系統的I/O越繁忙。   

system:系統信息字段

in:每秒被中斷的進程次數
cs:每秒鐘進行的事物切換次數
#此兩個數越大,代表系統與接口設備的通信非常繁忙

cup信息字段

us:非內核(用戶)進程消耗cpu運算時間的百分比

sy:內核進程消耗cpu運行時間的百分比

id:空閑cpu的百分比
      us+sy+id = 100%

wa:等待I/O所消耗的CUP百分比

st:被虛擬機所盜用的cpu百分比

top

top 查看進程使用資源情況(默認3S刷新一次動態信息)
   d 秒數,指定top命令每隔幾秒鐘更新,默認3秒
   b 使用批次處理模式輸出,一般和-n 合用
    c 顯示詳細的進程信息
   bn1 打印 1次 靜態顯示所有進程

在top命令交互模式中可執行的命令
   ?、h 查看幫助信息
   M  內存占比排序
   P cup 占比排序 (默認)
   N 以PID排序
   q quit 退出

技術分享圖片
#數字1顯示所有核CUP,大寫字母M按內存使用排序,大寫P按CUP使用排序

進程信息

tasks:95 total   :系統中的進程總數
1 running            :正在運行的進程數
94 sleeping         :休眠的進程
0 stopped           :正在停止的進程
0 zombie             :僵屍進程,如果不是0,需要手動檢查進程

cup 信息

CUP(s) :0.1%us  :用戶模式占用的CPU百分比
0.1%  sy               :系統模式占用的CPU百分比
0.01%  ni             :改變過優先級的用戶進程占用CPU百分比
99.7%  id             :空閑cpu的CPU百分比
0.1%  wa              :等待輸入/輸出的進程占用CPU的百分比
0.0%  hi                :硬中斷請求服務占用的CPU百分比
0.1%  si                :軟中斷請求服務占用的CPU百分比
0.0%  st                :ST(steal time)虛擬時間百分比

物理內存信息

內容                                          說明
Mem:
625344 k  total              物理內存的總量,單位KB
571504 k  used              已經使用的物理內存數量
53840 k    free               空閑的物理內存數量
65800 k  buffer/cache   作為緩沖、緩存的內存數量
SWAP:
524280 k   total             交換分區(虛擬內存)的總大小
0 k             used             已經使用的交互分區的大小
524280 k    free             空閑交換分區的大小
409280 k    cache          作為緩存的交互分區大小

buffer   緩沖:加速了數據的 寫入
cache   緩存:加速了數據的 讀取 

sar 瑞士軍刀

sar 非常全面的監控系統狀態 (linux系統裏的瑞士軍刀)

yum -y install sysstat   yum安裝sar 軟件

[root@huidou01 ~]`#`   sar
無法打開 /var/log/sa/sa22: 沒有那個文件或目錄

不加具體選項參數 默認會去調用系統裏面保留的歷史文件
 /var/log/sa/sa22: sa22 表示當天日期,sa21昨天的
sar -f /var/log/sa/saxx 歷史文件   -f 指定文件

這個目錄下會生成 sa22 、sar22
sa22:是一個二進制文件,不能直接看,只能sar -f 查看
sar22:是一個編譯後,可以cat的文件。第二天才會生成的文件
#每10分鐘會過濾一遍系統狀態 保存到歷史文件中去(最多保留1個月的歷史文件)

技術分享圖片

判斷問題瓶頸

要判斷系統瓶頸問題,有時需幾個 sar 命令選項結合起來  
懷疑CPU存在瓶頸,可用 sar -u和 sar -q 等來查看
懷疑內存存在瓶頸,可用 sar -B、sar -r和 sar -W 等來查看 
懷疑I/O存在瓶頸,可用 sar -b、sar -u 和 sar -d等來查看

lo 本地回環 ens33本地網卡 
rxpck/s   :接受到的數據包量         正常數據量情況大約在2000左右
txpck/s   :發送出去的數據包量
rxkB/s     :接受到的數據量        KB
txkB/s     :發送出去的數據量  KB

sar -n DEV 網卡流量    sar -n DEV 1 10 每隔1秒顯示10次
sar -q         系統負載   用法同上     如w 
sar -b         磁盤讀寫   用法同上  

nload 命令

監控實時網卡流量信息
yum -y install epel-release 先安裝epel-release
yum -y install nload

技術分享圖片

Curr :   當前值
Avg:   平均值
Min:  最小值
Max:  最大值
Ttl:     總數
按 q quit 退出

日常運維(一)