在運維工做中,w命令是一個最經常使用的命令之一,它能夠查看系統當前的負載狀況數據庫
[root@localhost ~]# w 22:46:57 up 4 min, 1 user, load average: 0.02, 0.08, 0.05 USER TTY LOGIN@ IDLE JCPU PCPU WHAT root pts/0 22:46 1.00s 0.07s 0.02s w
該命令隨簡單,可是顯示出來的內容卻頗有用;緩存
cat /proc/cpuinfo
來實現 ,經過查看最後一段信息的processor ,若是是3 ,則爲4個。(這裏的個數說的不是物理CPU個數,好比機器裏面有兩個四核CPU,則這個數量就是8)[root@localhost ~]# 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 3565444 692 99364 0 0 22 2 23 27 0 0 99 0 0
使用w命令查看的是系統總體上的負載,沒法判斷具體是哪些硬件負載壓力過大,這就用到了vmstat命令,vmstat顯示的內容一共分爲6部分,運維
procs 顯示進程的相關信息ssh
r(run):表示運行或等待CPU時間片的進程數。該數值若是長期大於CPU核數就意味着CPU不夠用了。ui
b(block):表示等待資源的進程數,這裏的資源指的是I/O、內存等。好比說有個數據CPU很快處理完了,可是硬盤在頻繁的讀寫當中,該數據等待寫入硬盤時,這個進程就是b的狀態。該數據長時間大於1就須要找找問題了。code
memory 顯示內存的相關信息進程
swpd:表示切換到交換分區中的內存數量,單位爲KB。內存
free:表示當前空閒的內存大小。單位KB資源
fuff:表示(即將寫入磁盤的)緩衝大小,單位KBio
cache:表示(從磁盤中讀取的)緩存大小,單位KB
swap 顯示內存的交換狀況
si:表示由交換分區寫內存的數據量,單位KB
so:表示由內存寫入交換分區的數據量,
io顯示磁盤的使用狀況
bi:表示從塊設備讀取數據的量(讀磁盤)
bo:表示從塊設備寫入數據的量(寫磁盤)
system顯示採集間隔內發生的中斷次數
in:表示在某一時間間隔內觀測到的每秒設備的中斷次數
cs:表示每秒產生的上下文切換次數
cpu顯示CPU的使用狀態
us:顯示用戶下所花費CPU的時間百分比
sy:顯示系統花費CPU的時間百分比
id:表示CPU處於空閒狀態的時間百分比
wa:表示I/O等待所佔用的CPU時間百分比
st:表示被偷走的CPU所佔的百分比(通常爲0,不用關注)
vmstat 2 10
意思是每兩秒輸出一次狀態,輸出10次。
top命令顯示進程所佔的系統資源
[root@localhost ~]# top top - 23:35:14 up 52 min, 2 users, load average: 0.00, 0.01, 0.05 Tasks: 360 total, 1 running, 359 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.1 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st KiB Mem: 3869044 total, 304728 used, 3564316 free, 692 buffers KiB Swap: 2047996 total, 0 used, 2047996 free. 99664 cached Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2346 root 20 0 133684 4924 3748 S 0.3 0.1 0:00.40 sshd 2433 root 20 0 123880 1868 1184 R 0.3 0.0 0:00.08 top 1 root 20 0 49976 6456 3740 S 0.0 0.2 0:03.34 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.03 kthreadd
top命令執行的結果是動態輸出的,它的特色是把佔用系統資源最高的進程放到前面。
sar命令很強大,能夠監控幾乎全部資源的狀態,好比平均負載,網卡流量,磁盤狀態,內存使用等。它能夠輸出歷史信息,能夠截取某個時間段的系統狀態信息。若是沒有安裝該名利,可使用` yum install -y sysstat 安裝 。初次運行會報錯,是由於還沒生成相應的數據庫文件。
使用yum install -y epel-release ; yum install -y nload
nload這個包在擴展源裏面,須要先安裝擴展源。 執行這個命令能夠很直觀的查看當前網卡的流量狀況。