1. 程式人生 > >w命令、vmstat命令、top命令、sar命令、nload命令

w命令、vmstat命令、top命令、sar命令、nload命令

w命令、vmstat命令、top命令

w、uptime查看系統負載

技術分享圖片技術分享圖片

12:23:32 是系統當前時間12點23分32秒

up 26 min 是登錄系統的時間為 26分鐘

1 user 目前登錄了1個用戶

load avaerage 系統負載,有三個數字分別表示1分鐘、5分鐘、15分鐘時間段內系統的負載值是多少。數字的含義為:單位時間段內使用cpu的活動進程有多少個。(這個數值為0時說明linux在空跑,沒有任何進程在使用。一般這個值不超過邏輯cpu的數量。查看cpu數量使用命令cat /proc/cpuinfo)


USER 用戶名

TTY 登錄的終端 網絡登錄是pts/0,pts/1等,tty直接登錄。

FROM 遠程登錄的地址

LOGIN@ 登錄的時間(什麽時候登錄的)

IDLE 用戶空閑時間,用戶執行任何操作後改時間被重置

JCPU 和該終端鏈接的所有進程占用時間

PCPU 當前進程所占用的時間

WHAT 當前正在運行進程的命令行


備註:

(1)區別與who命令,w命令不僅可以看到登錄服務器的用戶信息,而且還可以看到這些用戶做了什麽。

(2)who am i 命令,顯示出自己在系統中的用戶名,登錄終端,登錄時間。

(3)whoami 命令,顯示自己在系統中的用戶名。

(4)logname 命令,可以顯示自己初次登錄到系統中的用戶名,主要識別sudo前後情形。

(5)last命令,查看近一個月用戶登錄服務器的情況。

(6)tty命令,來查看所連接的設備或終端。


uptime命令顯示的內容和w命令顯示的內容差不多,但是只顯示了w命令的前半部分內容。

技術分享圖片技術分享圖片



vmstat命令

vmstat 可以查看服務器的狀態值,包括服務器的cpu使用率、內存使用,虛擬內存交換情況,IO讀寫情況。

技術分享圖片技術分享圖片

vmstat n1 n2 (n1,n2代表數字。n1為多長時間動態顯示一次。n2為顯示的次數。如果沒有n2,那麽它會一直顯示,按ctrl+c結束顯示。單獨的vmstat只會靜態的顯示一次狀態。)


proc 顯示進程相關信息

r:run。表示有多少個進程處於run的狀態(正在運行和等待運行的進程)。當這個數字長期大於cpu邏輯個數,那麽說明cpu不夠用了。

b:表示進程被cpu以外的資源(硬盤、網絡等)阻斷,處於等待狀態。進程被阻塞。


memory內存相關信息

swap 切換到交換分區的內存量(當內存不夠用時,內存中的數據會暫時存放在swap中),如果該數字持續變化說明內存不夠了

free 表示當前空閑的內存量

buff 緩沖大小

cache 緩存大小


swap 內存交換相關信息

si 有多少kb的數據從swap進入到內存中。和swap有關,當swap那列在改變時,該列就會跟著改變。

so 有多少kb的數據從內存進入到swap中。和swap有關,當swap那列在改變時,該列就會跟著改變。


io 磁盤相關信息

bi 從磁盤讀出來寫入到內存中的數據量(讀磁盤)

bo 從內存讀出來寫入到磁盤中的數據量(寫磁盤)

這兩個數值很大的話說明磁盤在頻繁讀寫,當大量數據頻繁讀寫會造成b列(proc中)增加


system 顯示采集間隔內發生的中斷次數

in 表示在某一時間間隔中觀測到的每秒設備中斷次數

cs 表示每秒產生的上下文切換次數


CPU顯示CPU的使用狀態(us+sy+id=100%)

us 表示用戶級別資源(網站服務、數據庫服務等)占用的cpu的百分比(長時間大於50,說明cpu資源不夠了)

sy 表示系統本身的進程服務占用cpu百分比

id 表示cpu空閑狀態的百分比

wa wait,和b類似,等待使用cpu的百分比(數值過大說明cpu資源不夠用了。)

st 表示被偷走的cpu所占百分比(該數值一般為0)


top命令

top查看具體進程資源使用情況(每3秒鐘刷新一次動態的信息,按q退出。)

技術分享圖片技術分享圖片

-c 具體進程的命令

-bn1 靜態顯示所有進程(常用語shell腳本)


第一行是負載信息(和w命令查看出來的內容一致)

第二行是進程信息(總的又92個進程,有1個是在run狀態,91個在sleep狀態。0個在停止狀態。0個僵屍進程(僵屍進程為主進程沒有在運行,但是還有子進程在運行))

第三行是CPU的使用信息

第四行是內存使用信息

第五行是交換區使用信息

最下面為進程詳細信息:

PID 進程在系統中的id號,可以配合kill命令來結束進程,進程一旦被殺死就恢復不了了。

RES 表示進程所用的物理內存大小(單位kb)

%MEM 表示內存使用百分比(單位kb)

%CPU 表示cpu使用百分比

COMMAND 進程的命令



sar命令

sar是linux下系統狀態分析工具,它將指定的操作系統狀態(平均負載、網卡流量、磁盤狀態、內存使用等)計數器顯示到標準輸出設備。它不同於其它系統狀態監控工具的地方在於,它可以打印歷史信息,可以顯示從零開始到當前時刻的系統狀態信息。


安裝sar工具,使用命令:yum install -y sysstat


初次運行sar命令可能會報錯,因為sar命令還沒有生成相應的數據庫文件。其數據庫文件保存在/var/log/sa/目錄下,該目錄下存放兩種文件,分別以sa日期或sar日期的格式命名(sar是第二天生成,sa文件10分鐘更新一次。sar文件是直接可以cat的,但是sa文件需要用sar命令加載。),文件最多保留一個月。


sar -f filename 從指定文件提取報告

技術分享圖片技術分享圖片


sar -n DEV n1 n2 查看網卡流量(n1為多長時間顯示一次,n2為顯示的次數)

技術分享圖片技術分享圖片

rxpck/s 表示接收數據包的個數

txpck/s 表示發送數據包的個數

rxKB/s 表示接收的數據量

txKB/s 表示發送的數據量

註意! 當rxpck/s的值大於4000或者rxKB/s的值大於5000時則可能遭受攻擊(需配合抓包工具進一步確認)!


sar -q 查看系統負載(配合-f使用,查看歷史負載)

技術分享圖片技術分享圖片


sar -b查看磁盤信息

技術分享圖片技術分享圖片



nload命令

noload監控網卡流量

安裝nload工具需要先安裝epel-release

yum install -y epel-release

yum inttall -y nload


直接運行nload

技術分享圖片技術分享圖片

該界面顯示系統網絡動態信息,可以使用左右方向件查看不用網卡的信息,按q退出。可以根據實時網速和總帶寬比較查看是否被攻擊。


w命令、vmstat命令、top命令、sar命令、nload命令