linux日常運維管理技巧
1.使用w檢視系統負載
[root@abc ~]# w
w: 60 column window is too narrow (這個意思是視窗太小,最大化視窗就Ok)
13:46:43 up 2 min, 1 user, load average: 0.12, 0.08, 0.04
目前系統時間 啟動多長時間 登陸了多少使用者 系統負載(機關時間内,使用cpu活動的程序):1分鐘 5分鐘 15分鐘
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
(登陸時間)(空閑多時間)
root pts/0 192.168.52.1 13:44 3.00s 0.00s 0.00s w
[root@abc ~]# cat /proc/cpuinfo (檢視cpu資訊)
processor 邏輯處理器的id。
physical id 有幾個cpu處理器
core id 每個核心的id。(有多少個核心)
cpu cores 一個cpu處理器中的核心數量。
siblings 一個cup處理器中的邏輯處理器的數量。
2.vmstat (Virtual Memory)檢視虛拟記憶體使用的工具,使用vmstat來判定系統的瓶頸在哪裡
二、虛拟記憶體的運作原理
在系統中運作的每個程序都需要使用到記憶體,但不是每個程序都需要每時每刻使用系統配置設定的記憶體空間。當系統運作所需記憶體超過實際的實體記憶體,核心會釋放某些程序所占用但未使用的部分或所有實體記憶體,将這部分資料存儲在磁盤上直到程序下一次調用,并将釋放出的記憶體提供給有需要的程序使用。
三、使用說明
vmstat 1 (動态顯示系統資訊,1秒鐘一次)
程序:
r(run) 有多少程序再跑
b(block) 程序被cpu以外的(網絡,記憶體)原因在等待
記憶體:
swapd 交換分區,如果數字頻繁的變化,說明記憶體和虛拟分區正在頻繁的交換資料,記憶體不夠用了
free 可用記憶體大小
swap分區:
si (in) 有多少kb的資料從swap進入到記憶體裡去
so (out) 有多少kb的資料寫入到swap裡去
磁盤:
bi 從磁盤裡讀資料
bo 向磁盤裡寫資料 (這個資料如果很大,表示正在頻繁的讀寫磁盤,b會增加,因為導緻會有很多程序等待磁盤)
cpu:
us 使用者派的資源占用cpu多少百分比
sy 系統本身的程序或服務占用cpu百分比
id 空閑cpu的百分比
wa 有多少程序等待cpu的百分比
3.top 動态的檢視程序使用資源狀況
top - 14:44:33 up 1:00, 1 user, load average: 0.00, 0.01, 0.05 (第一行和w的第一行一樣)
Tasks: 86 total, 1 running, 85 sleeping, 0 stopped, 0 zombie
(總共多少程序,多少個在runing,多少個在休眠,多少個已經停止,多少個僵屍程序(主程序被以外禁止,留一些子程序))
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni, 100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
us使用者程序占百分比
sy系統程序占百分比
ni更改過優先級程序占百分比
id等待程序占百分比
被偷走的cpu百分比(虛拟化,子機))
KiB Mem : 1008392 total, 718700 free, 131380 used, 158312 buff/cache
實體記憶體使用情況 總共記憶體 多少空閑 使用多少記憶體 緩存的記憶體量
KiB Swap: 2097148 total, 2097148 free, 0 used. 712768 avail Mem
swap記憶體使用情況
total — 交換區總量(2GB)
used — 使用的交換區總量(2.5M)
free — 空閑交換區總量(2GB)
cached — 緩沖的交換區總量(4GB
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
PID 使用者pid
USER 使用者名
PR 程序優先級
NI nice值,負值表示高于優先級,正值表示低于優先級
VIRT 程序使用虛拟記憶體總量
RES 程序使用的,未被換出的實體記憶體大小
SHR 共享記憶體大小
S 程序狀态,D=不可中斷的睡眠狀态。R=運作 S=睡眠 T=跟蹤/停止 Z=僵屍程序
%CPU CPU占用百分比
%MEM 程序使用的實體記憶體百分比
TIME+一 程序使用的實體記憶體百分比
COMMAND 程序名稱(指令名/指令行)
(預設根據%CPU來排序,如果想根據%MEM記憶體來排序,按大寫的M即可,按大寫的P換回%CPU排序,數字1 列出指定CPU的使用情況,q退出)
top -c 可以在最後一行顯示COMMAND,用來檢視具體的指令,全局的路徑
top -bn1 靜态的把所有的程序資訊顯示出來,在寫腳本的時候适合使用
4.sar 監控系統狀态 (被稱為Linux系統裡的瑞士×××)
[root@abc ~]# yum install sysstat -y 安裝sar
(每十分鐘會把系統的狀态過濾一遍儲存在/var/log/sa裡,生成以當天日期為名的saXX檔案。第二天會生成一個以昨天日期為名的sarXX檔案,saXX檔案是二進制檔案,不能用cat直接檢視,但是sarXX可以
[root@abc sa]# sar -n DEV 1 5 (檢視網卡的流量,每一秒列印一次,一共列印5次)
Linux 3.10.0-514.el7.x86_64 (abc.com) 2017年11月27日 _x86_64_(1 CPU)
15時40分36秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
15時40分37秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
15時40分37秒 ens33 2.00 2.00 0.16 0.24 0.00 0.00 0.00
時間
IFACE 網卡名
rxpck/s 接收到的資料包 幾千還是正常的,上萬或者幾十萬基本确定被攻擊了
txpck/s 發送出去的資料包
rxkB/s 接受到的資料量
txkB/s 發送出去的資料量
[root@abc sa]# sar -n DEV -f /var/log/sa/saXX (可以檢視曆史資料,日期就是XX的内容,曆史檔案最多儲存一個月)
15時20分01秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
15時30分01秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
15時30分01秒 ens33 0.04 0.04 0.00 0.00 0.00 0.00 0.00
15時40分01秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
15時40分01秒 ens33 0.38 0.24 0.03 0.04 0.00 0.00 0.00
15時50分01秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
15時50分01秒 ens33 0.14 0.09 0.01 0.01 0.00 0.00 0.00
平均時間: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
平均時間: ens33 0.19 0.12 0.02 0.02 0.00 0.00 0.00
[root@abc sa]# sar -q (-q檢視系統負載。和w指令檢視效果一樣)
15時20分01秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
15時30分01秒 1 104 0.00 0.01 0.05 0
15時40分01秒 1 104 0.00 0.01 0.05 0
15時50分01秒 1 103 0.00 0.01 0.05 0
平均時間: 1 104 0.00 0.01 0.05 0
runq-sz:運作隊列的長度(等待運作的程序數)
plist-sz:程序清單中程序(processes)和線程(threads)的數量
ldavg-1:最後1分鐘的系統平均負載(System load average)
ldavg-5:過去5分鐘的系統平均負載
ldavg-15:過去15分鐘的系統平均負載
[root@abc sa]# sar -b (-b檢視磁盤讀寫資訊)
15時20分01秒 tps rtps wtps bread/s bwrtn/s
15時30分01秒 0.49 0.00 0.48 0.05 22.21
15時40分01秒 0.10 0.00 0.10 0.07 1.91
15時50分01秒 0.05 0.00 0.05 0.00 0.45
平均時間: 0.21 0.00 0.21 0.04 8.19
tps:每秒鐘實體裝置的 I/O 傳輸總量
rtps:每秒鐘從實體裝置讀入的資料總量
wtps:每秒鐘向實體裝置寫入的資料總量
bread/s:每秒鐘從實體裝置讀入的資料量,機關為 塊/s
bwrtn/s:每秒鐘向實體裝置寫入的資料量,機關為 塊/s
5.nload 監察網卡流量
[root@abc sa]# yum install -y epel-release
[root@abc sa]# yum install nload -y
[root@abc sa]# nload 顯示網卡實時速度的頁面

上半部分是:Incoming也就是進入網卡的流量,下半部分是:Outgoing,也就是從這塊網卡出去的流量
第一行分别是 網卡名,ip <- -> 左右方向鍵分别可以切換網卡
目前值 (Curr)
平均值 (Avg)
最小值 (Min)
最大值 (Max)
總和流量(Ttl)
本文轉自 小新銳 51CTO部落格,原文連結:http://blog.51cto.com/13407306/2044763,如需轉載請自行聯系原作者