1.1 top
1.1.1 命令說明
Top 命令能夠?qū)崟r(shí)監(jiān)控系統(tǒng)的運(yùn)行狀態(tài),并且可以按照cpu、內(nèi)存和執(zhí)行時(shí)間進(jìn)行排序
1.1.2 參數(shù)說明
命令行啟動(dòng)參數(shù):
用法: top -hv | -bcisSHM -d delay -n iterations [-u user | -U user] -p pid [,pid ...]
-b : 批次模式運(yùn)行。通常用作來將top的輸出的結(jié)果傳送給其他程式或儲(chǔ)存成文件
-c : 顯示執(zhí)行任務(wù)的命令行
-d : 設(shè)定延遲時(shí)間
-h : 幫助
-H : 顯示線程。當(dāng)這個(gè)設(shè)定開啟時(shí),將顯示所有進(jìn)程產(chǎn)生的線程
-i : 顯示空閑的進(jìn)程
-n : 執(zhí)行次數(shù)。一般與-b搭配使用
-u : 監(jiān)控指定用戶相關(guān)進(jìn)程
-U : 監(jiān)控指定用戶相關(guān)進(jìn)程
-p : 監(jiān)控指定的進(jìn)程。當(dāng)監(jiān)控多個(gè)進(jìn)程時(shí),進(jìn)程ID以逗號(hào)分隔。這個(gè)選項(xiàng)只能在命令行下使用
-s : 安全模式操作
-S : 累計(jì)時(shí)間模式
-v : 顯示top版本,然后退出。
-M : 自動(dòng)顯示內(nèi)存單位(k/M/G)
1.全局命令
回車、空格 : 刷新顯示信息
?、h : 幫助
= : 移除所有任務(wù)顯示的限制
A : 交替顯示模式切換
B : 粗體顯示切換
d、s : 更改界面刷新時(shí)間間隔
G : 選擇其它窗口/欄位組
I : Irix或Solaris模式切換
u、U : 監(jiān)控指定用戶相關(guān)進(jìn)程
k : 結(jié)束進(jìn)程
q : 退出top
r : 重新設(shè)定進(jìn)程的nice值
W : 存儲(chǔ)當(dāng)前設(shè)定
Z : 改變顏色模板
2.摘要區(qū)命令
l : 平均負(fù)載及系統(tǒng)運(yùn)行時(shí)間顯示開關(guān)
m : 內(nèi)存及交換空間使用率顯示開關(guān)
t : 當(dāng)前任務(wù)及CPU狀態(tài)顯示開關(guān)
1 : 匯總顯示CPU狀態(tài)或分開顯示每個(gè)CPU狀態(tài)
1.任務(wù)區(qū)命令
外觀樣式
b : 黑體/反色顯示高亮的行/列??刂苮和y交互命令的顯示樣式
x : 高亮顯示排序的列
y : 高亮顯示正在運(yùn)行的任務(wù)
z : 彩色/黑白顯示。
顯示內(nèi)容
c : 任務(wù)執(zhí)行的命令行或進(jìn)程名稱
f、o : 增加和移除進(jìn)程信息欄位及調(diào)整進(jìn)程信息欄位顯示順序
H : 顯示線程
S : 時(shí)間累計(jì)模式
u : 監(jiān)控指定用戶相關(guān)進(jìn)程
任務(wù)顯示的數(shù)量
i : 顯示空閑的進(jìn)程
n或# : 設(shè)置任務(wù)顯示最大數(shù)量
任務(wù)排序(shift+f)
M : 按內(nèi)存使用率排序
N : 按PID排序
P : 按CPU使用率排序
T : 按Time+排序
< : 按當(dāng)前排序欄位左邊相鄰欄位排序
> : 按當(dāng)前排序欄位右邊相鄰欄位排序
F 或 O : 選擇排序欄位
R : 反向排序
1.1.3? 結(jié)果說明
1.2 free
1.2.1? 命令說明
Free命令是監(jiān)控系統(tǒng)內(nèi)存最常用的命令
1.2.2.參數(shù)說明
-m:以M為單位查看內(nèi)存使用情況(默認(rèn)為kb)
-b:以字節(jié)為單位查看內(nèi)存使用情況
-s:可以在指定時(shí)間段內(nèi)不簡單監(jiān)控內(nèi)存的使用情況
1.2.3 結(jié)果說明
total:總計(jì)物理內(nèi)存的大小。
Used:已使用多大。
Free:可用有多少。
shared:多個(gè)進(jìn)程共享的內(nèi)存總額。
buffers/cached:磁盤緩存的大小。
1.3 vmstat
1.1.1命令說明
可以監(jiān)控操作系統(tǒng)的進(jìn)程狀態(tài)、內(nèi)存、虛擬內(nèi)存、磁盤IO、上下文、CPU的信息。
1.1.2參數(shù)說明
vmstat [-a] [-n] [-S unit] [delay [ count]]
-a:顯示活躍和非活躍內(nèi)存
-m:顯示slabinfo
-n:只在開始時(shí)顯示一次各字段名稱。
-s:顯示內(nèi)存相關(guān)統(tǒng)計(jì)信息及多種系統(tǒng)活動(dòng)數(shù)量。
delay:刷新時(shí)間間隔。如果不指定,只顯示一條結(jié)果。
count:刷新次數(shù)。如果不指定刷新次數(shù),但指定了刷新時(shí)間間隔,這時(shí)刷新次數(shù)為無窮。
-d:顯示各個(gè)磁盤相關(guān)統(tǒng)計(jì)信息。
-S:使用指定單位顯示。參數(shù)有 k 、K 、m 、M ,分別代表1000、1024、1000000、1048576字節(jié)(byte)。默認(rèn)單位為K(1024 bytes)
-V:顯示vmstat版本信息。
-p:顯示指定磁盤分區(qū)統(tǒng)計(jì)信息
-D:顯示磁盤總體信息
1.1.3 結(jié)果說明
Procs
R:等待被執(zhí)行的進(jìn)程數(shù),即表示運(yùn)行和等待CPU時(shí)間片的進(jìn)程數(shù)
B:排隊(duì)的進(jìn)程數(shù),即等待資源的進(jìn)程數(shù)
Memory
Swap : 虛擬內(nèi)存,切換到虛擬內(nèi)存的內(nèi)存大小
Free: 空閑的物理內(nèi)存大小
Buff: 緩沖區(qū)大小
Cache: 緩存大小
Swap
Si:磁盤寫入虛擬內(nèi)存,即由內(nèi)存進(jìn)入到虛擬內(nèi)存的大小。
So:虛擬內(nèi)存寫入磁盤,即由虛擬內(nèi)存進(jìn)入到磁盤的大小。
Io
Bi:由塊設(shè)備讀入的數(shù)據(jù)總量,讀磁盤
Bo:由塊設(shè)備寫入的數(shù)據(jù)總量,寫磁盤
System
In: 每秒設(shè)備中斷數(shù)
Cs:每秒上下文切換的次數(shù)
Cpu
Us:用戶進(jìn)程消耗cpu百分比
Sy:內(nèi)核進(jìn)程消耗cpu百分比
Id:cpu處于空閑狀態(tài)的時(shí)間百分比
Wa:Io等待cpu所占時(shí)間的百分比
1.4 iostat
1.4.1命令說明
Iostat是對(duì)系統(tǒng)磁盤IO操作進(jìn)行監(jiān)控,它的輸出主要顯示磁盤的讀寫操作的統(tǒng)計(jì)信息。同時(shí)給出cpu的使用情況
1.4.2參數(shù)說明
iostat [ -c | -d ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ device [ ... ] | ALL ] [ -p [ device | ALL ] ] [ interval [ count ] ]
各選項(xiàng)以及參數(shù)含義如下:
-c:僅顯示CPU統(tǒng)計(jì)信息.與-d選項(xiàng)互斥.
-d :僅顯示磁盤統(tǒng)計(jì)信息.與-c選項(xiàng)互斥.
-k :以K為單位顯示每秒的磁盤請(qǐng)求數(shù),默認(rèn)單位塊.
-p :device | ALL
???? 與-x選項(xiàng)互斥,用于顯示塊設(shè)備及系統(tǒng)分區(qū)的統(tǒng)計(jì)信息.也可以在-p后指定一個(gè)設(shè)備名,如:
???? # iostat -p had
或顯示所有設(shè)備
???? # iostat -p ALL
-t :在輸出數(shù)據(jù)時(shí),打印搜集數(shù)據(jù)的時(shí)間.
-V :打印版本號(hào)和幫助信息.
-x? device? 輸出指定要統(tǒng)計(jì)的磁盤設(shè)備名稱,默認(rèn)為所有磁盤設(shè)備.
-????????? interval :指兩次統(tǒng)計(jì)間隔時(shí)間
-????????? count :按照interval 指定的時(shí)間間隔統(tǒng)計(jì)的次數(shù)
1.4.3結(jié)果說明
Iostat的簡單應(yīng)用
Iostat磁盤監(jiān)控
rrqm/s:每秒進(jìn)行 merge 的讀操作數(shù)目,即 delta(rmerge)/s 。
wrqm/s:每秒進(jìn)行 merge 的寫操作數(shù)目,即 delta(wmerge)/s 。
r/s:每秒完成的讀 I/O 設(shè)備次數(shù),即 delta(rio)/s 。
w/s:每秒完成的寫 I/O 設(shè)備次數(shù),即 delta(wio)/s 。
rsec/s:每秒讀扇區(qū)數(shù),即 delta(rsect)/s。
wsec/s:每秒寫扇區(qū)數(shù),即 delta(wsect)/s
rkB/s:每秒讀K字節(jié)數(shù),是 rsect/s 的一半,因?yàn)槊可葏^(qū)大小為512字節(jié)。
wkB/s:每秒寫K字節(jié)數(shù),是 wsect/s 的一半
avgrq-sz:平均每次設(shè)備I/O操作的數(shù)據(jù)大小 (扇區(qū)),即??????????????????????????????????????????????????????????? ?? delta(rsect+wsect)/delta(rio+wio) 。
avgqu-sz:平均I/O隊(duì)列長度,即 delta(aveq)/s/1000 (因?yàn)閍veq的單位為毫秒)。
Await:平均每次設(shè)備I/O操作的等待時(shí)間 (毫秒),即? delta(ruse+wuse)/delta(rio+wio) 。
Svctm:平均每次設(shè)備I/O操作的服務(wù)時(shí)間 (毫秒),即 delta(use)/delta(rio+wio) 。
%util:一秒中有百分之多少的時(shí)間用于 I/O 操作,或者說一秒中有多少時(shí)間 I/O 隊(duì)列是非空的,
?? 即 delta(use)/s/1000 (因?yàn)閡se的單位為毫秒) 。
Iostat?? cpu 監(jiān)控
%usr:用戶進(jìn)程消耗的CPU時(shí)間百分比。
%nice:? 運(yùn)行正常進(jìn)程消耗的CPU時(shí)間百分比。
%system:系統(tǒng)進(jìn)程消耗的CPU時(shí)間百分比。
%iowait:I/O等待所占CPU時(shí)間百分比。
%steal:在內(nèi)存緊張環(huán)境下,pagein強(qiáng)制對(duì)不同的頁面進(jìn)行的steal操作。
%idle:CPU空閑狀態(tài)的時(shí)間百分比。
1.5 mpstat
1.5.1命令說明
Mpstat可以監(jiān)控到cpu的一些統(tǒng)計(jì)信息,在多核cpu的系統(tǒng)里不但能夠查看所有cpu的平均狀況信息,而且能夠查看特定的cpu的信息
1.5.2參數(shù)說明
mpstat [-P {|ALL}] [internal [count]]
參數(shù):
(1)-P {|ALL}:表示監(jiān)控哪個(gè)CPU,在[0,cpu個(gè)數(shù)-1]中取值;
(2)internal:相鄰的兩次采樣的間隔時(shí)間;
(3)count:采樣的次數(shù),count只能和delay一起使用;
備注:當(dāng)沒有參數(shù)時(shí),mpstat則顯示系統(tǒng)啟動(dòng)以后所有信息的平均值。有interval時(shí),第一行的信息自系統(tǒng)啟動(dòng)以來的平均信息。從第二行開始,輸出為前一個(gè)interval時(shí)間段的平均信息。
1.5.3結(jié)果說明
(1)user:在internal時(shí)間段里,用戶態(tài)的CPU時(shí)間(%),不包含nice值為負(fù)進(jìn)程,值為 (usr/total)*100;
(2)nice:在internal時(shí)間段里,nice值為負(fù)進(jìn)程的CPU時(shí)間(%),值為(nice/total)*100;
(3)system:在internal時(shí)間段里,核心時(shí)間(%),值為(system/total)*100;
(4)iowait:在internal時(shí)間段里,硬盤IO等待時(shí)間(%),值為(iowait/total)*100;
(5)irq:在internal時(shí)間段里,硬中斷時(shí)間(%),值為(irq/total)*100;
(6)soft:在internal時(shí)間段里,軟中斷時(shí)間(%),值為(softirq/total)*100;
(7)idle:在internal時(shí)間段里,CPU除去等待磁盤IO操作外的因?yàn)槿魏卧蚨臻e的時(shí)間閑置時(shí)間(%),值為(idle/total)*100;
(8)intr/s:在internal時(shí)間段里,每秒CPU接收的中斷的次數(shù),值為(intr/total)*100;
1.6 sar
1.6.1命令說明
Sar命令可以全名的獲取到cpu 、運(yùn)行、磁盤IO、虛擬內(nèi)存、內(nèi)存、網(wǎng)絡(luò)等信息。
1.6.2參數(shù)說明
sar 命令行的常用格式:?
sar [options] [-A] [-o file] t [n]?
在命令行中,n 和t 兩個(gè)參數(shù)組合起來定義采樣間隔和次數(shù),t為采樣間隔,是必須有的參數(shù),n為采樣次數(shù),是可選的,默認(rèn)值是1,-o file表示將命令結(jié)果以二進(jìn)制格式存放在文件中,file 在此處不是關(guān)鍵字,是文件名。options 為命令行選項(xiàng),sar命令的選項(xiàng)很多,下面只列出常用選項(xiàng):?
-A:所有報(bào)告的總和。?
-u:CPU利用率
-v:進(jìn)程、節(jié)點(diǎn)、文件和鎖表狀態(tài)。?
-p:像是當(dāng)前系統(tǒng)中指定CPU使用信息。
-d:硬盤使用報(bào)告。
-r:顯示系統(tǒng)內(nèi)存的使用情況。?
-n:顯示網(wǎng)絡(luò)運(yùn)行狀態(tài)。參數(shù)后面可跟DEV、EDEV、SOCK和FULL。DEV顯示網(wǎng)絡(luò)接口信息,EDEV顯示網(wǎng)絡(luò)錯(cuò)誤的統(tǒng)計(jì)數(shù)據(jù),SOCK顯示套接字信息,F(xiàn)ULL顯示前三參數(shù)所有信息。
-q:顯示運(yùn)行隊(duì)列的大小,它與系統(tǒng)當(dāng)時(shí)的平均負(fù)載相同
-B:內(nèi)存分頁情況
-R:顯示進(jìn)程在采樣時(shí)間內(nèi)的活動(dòng)情況。
-g:串口I/O的情況。
-b:緩沖區(qū)使用情況。
-a:文件讀寫情況。
-c:系統(tǒng)調(diào)用情況。
-R:進(jìn)程的活動(dòng)情況。
-y:終端設(shè)備活動(dòng)情況。
-W:系統(tǒng)交換活動(dòng)。
1.6.3結(jié)果說明
Cpu資源監(jiān)控
CPU:all 表示統(tǒng)計(jì)信息為所有 CPU 的平均值。
%user:顯示在用戶級(jí)別(application)運(yùn)行使用 CPU 總時(shí)間的百分比。
%nice:顯示在用戶級(jí)別,用于nice操作,所占用 CPU 總時(shí)間的百分比。
%system:在核心級(jí)別(kernel)運(yùn)行所使用 CPU 總時(shí)間的百分比。
%iowait:顯示用于等待I/O操作占用 CPU 總時(shí)間的百分比。
%steal:管理程序(hypervisor)為另一個(gè)虛擬進(jìn)程提供服務(wù)而等待虛擬 CPU 的百分比。
%idle:顯示 CPU 空閑時(shí)間占用 CPU 總時(shí)間的百分比。
1. 若 %iowait 的值過高,表示硬盤存在I/O瓶頸
2. 若 %idle 的值高但系統(tǒng)響應(yīng)慢時(shí),有可能是 CPU 等待分配內(nèi)存,此時(shí)應(yīng)加大內(nèi)存容量
1. 若 %idle 的值持續(xù)低于1,則系統(tǒng)的 CPU 處理能力相對(duì)較低,表明系統(tǒng)中最需要解決的資源是 CPU 。
如果要查看二進(jìn)制文件test中的內(nèi)容,需鍵入如下sar命令:
sar -u -f test
Inode、文件和其他內(nèi)核表監(jiān)控
Dentunued: 目錄告訴緩存中未被使用的條目數(shù)量
File-nr: 文件句柄的使用數(shù)量
Inode-nr: 索引節(jié)點(diǎn)句柄的使用數(shù)量
Pty-nr :使用的pty的數(shù)量
內(nèi)存和交換空間監(jiān)控
kbmemfree:這個(gè)值和free命令中的free值基本一致,所以它不包括buffer和cache的空間.
kbmemused:這個(gè)值和free命令中的used值基本一致,所以它包括buffer和cache的空間.
%memused:這個(gè)值是kbmemused和內(nèi)存總量(不包括swap)的一個(gè)百分比.
kbbuffers和kbcached:這兩個(gè)值就是free命令中的buffer和cache.
kbcommit:保證當(dāng)前系統(tǒng)所需要的內(nèi)存,即為了確保不溢出而需要的內(nèi)存(RAM+swap).
%commit:這個(gè)值是kbcommit與內(nèi)存總量(包括swap)的一個(gè)百分比.
內(nèi)存分頁監(jiān)控
pgpgin/s:表示每秒從磁盤或SWAP置換到內(nèi)存的字節(jié)數(shù)(KB)
pgpgout/s:表示每秒從內(nèi)存置換到磁盤或SWAP的字節(jié)數(shù)(KB)
fault/s:每秒鐘系統(tǒng)產(chǎn)生的缺頁數(shù),即主缺頁與次缺頁之和(major + minor)
majflt/s:每秒鐘產(chǎn)生的主缺頁數(shù).
pgfree/s:每秒被放入空閑隊(duì)列中的頁個(gè)數(shù)
pgscank/s:每秒被kswapd掃描的頁個(gè)數(shù)
pgscand/s:每秒直接被掃描的頁個(gè)數(shù)
pgsteal/s:每秒鐘從cache中被清除來滿足內(nèi)存需要的頁個(gè)數(shù)
%vmeff:每秒清除的頁(pgsteal)占總掃描頁(pgscank+pgscand)的百分比
IO和傳送速率監(jiān)控
tps:每秒鐘物理設(shè)備的 I/O 傳輸總量
rtps:每秒鐘從物理設(shè)備讀入的數(shù)據(jù)總量
wtps:每秒鐘向物理設(shè)備寫入的數(shù)據(jù)總量
bread/s:每秒鐘從物理設(shè)備讀入的數(shù)據(jù)量,單位為 塊/s
bwrtn/s:每秒鐘向物理設(shè)備寫入的數(shù)據(jù)量,單位為 塊/s
進(jìn)程隊(duì)列長度和平均負(fù)載狀態(tài)監(jiān)控
runq-sz:運(yùn)行隊(duì)列的長度(等待運(yùn)行的進(jìn)程數(shù))
plist-sz:進(jìn)程列表中進(jìn)程(processes)和線程(threads)的數(shù)量
ldavg-1:最后1分鐘的系統(tǒng)平均負(fù)載(System load average)
ldavg-5:過去5分鐘的系統(tǒng)平均負(fù)載
ldavg-15:過去15分鐘的系統(tǒng)平均負(fù)載
系統(tǒng)交換活動(dòng)信息監(jiān)控
pswpin/s:每秒系統(tǒng)換入的交換頁面(swap page)數(shù)量
pswpout/s:每秒系統(tǒng)換出的交換頁面(swap page)數(shù)量
設(shè)備使用情況監(jiān)控
參數(shù)-p可以打印出sda,hdc等磁盤設(shè)備名稱,如果不用參數(shù)-p,設(shè)備節(jié)點(diǎn)則有可能是dev8-0,dev22-0
tps:每秒從物理磁盤I/O的次數(shù).多個(gè)邏輯請(qǐng)求會(huì)被合并為一個(gè)I/O磁盤請(qǐng)求,一次傳輸?shù)拇笮∈遣淮_定的.
rd_sec/s:每秒讀扇區(qū)的次數(shù).
wr_sec/s:每秒寫扇區(qū)的次數(shù).
avgrq-sz:平均每次設(shè)備I/O操作的數(shù)據(jù)大小(扇區(qū)).
avgqu-sz:磁盤請(qǐng)求隊(duì)列的平均長度.
await:從請(qǐng)求磁盤操作到系統(tǒng)完成處理,每次請(qǐng)求的平均消耗時(shí)間,包括請(qǐng)求隊(duì)列等待時(shí)間,單位是毫秒(1秒=1000毫秒).
svctm:系統(tǒng)處理每次請(qǐng)求的平均時(shí)間,不包括在請(qǐng)求隊(duì)列中消耗的時(shí)間.
%util:I/O請(qǐng)求占CPU的百分比,比率越大,說明越飽和.
1. avgqu-sz 的值較低時(shí),設(shè)備的利用率較高。
2. 當(dāng)%util的值接近 1% 時(shí),表示設(shè)備帶寬已經(jīng)占滿。
1.7 netstat
1.7.1命令說明
Netstat 命令用于顯示本機(jī)網(wǎng)絡(luò)鏈接、運(yùn)行端口、路由表等信息
1.7.2參數(shù)說明
netstat [選項(xiàng)]
-a (all):顯示一個(gè)所有的有效連接信息列表,包括已建立的連接(ESTABLISHED),也包括監(jiān)聽連接請(qǐng)求(LISTENING)的那些連接,斷開連接(CLOSE_WAIT)或者處于聯(lián)機(jī)等待狀態(tài)的(TIME_WAIT)等
-t (tcp):顯示tcp相關(guān)選項(xiàng)
-u (udp):僅顯示udp相關(guān)選項(xiàng)
-n :拒絕顯示別名,能顯示數(shù)字的全部轉(zhuǎn)化成數(shù)字。
-l :僅列出有在 Listen (監(jiān)聽) 的服務(wù)狀態(tài)
-p :顯示建立相關(guān)鏈接的程序名
-r :顯示路由信息,路由表,除了顯示有效路由外,還顯示當(dāng)前有效的連接
-e :顯示擴(kuò)展信息,例如uid等
-s :按各個(gè)協(xié)議進(jìn)行統(tǒng)計(jì)
-c :每隔一個(gè)固定時(shí)間,執(zhí)行該netstat命令。
-v :顯示當(dāng)前的有效連接,與-n選項(xiàng)類似
-I :顯示自動(dòng)匹配接口的信息
-e :顯示關(guān)于以太網(wǎng)的統(tǒng)計(jì)數(shù)據(jù)。它列出的項(xiàng)目包括傳送的數(shù)據(jù)報(bào)的總字節(jié)數(shù)、錯(cuò)誤數(shù)、刪除數(shù)、數(shù)據(jù)報(bào)的數(shù)量和廣播的數(shù)量。這些統(tǒng)計(jì)數(shù)據(jù)既有發(fā)送的數(shù)據(jù)報(bào)數(shù)量,也有接收的數(shù)據(jù)報(bào)數(shù)量。這個(gè)選項(xiàng)可以用來統(tǒng)計(jì)一些基本的網(wǎng)絡(luò)流量。
提示:LISTEN和LISTENING的狀態(tài)只有用-a或者-l才能看到
1.7.3結(jié)果說明
Iface:表示網(wǎng)絡(luò)設(shè)備的接口名稱。
MTU:表示最大傳輸單元,單位為字節(jié)。
RX-OK/TX-OK:表示已經(jīng)準(zhǔn)確無誤地接收/發(fā)送了多少數(shù)據(jù)包。
RX-ERR/TX-ERR:表示接收/發(fā)送數(shù)據(jù)包時(shí)候產(chǎn)生了多少錯(cuò)誤。
RX-DRP/TX-DRP:表示接收/發(fā)送數(shù)據(jù)包時(shí)候丟棄了多少數(shù)據(jù)包。
RX-OVR/TX-OVR:表示由于誤差而丟失了多少數(shù)據(jù)包。
Flg表示接口標(biāo)記,其中
B 已經(jīng)設(shè)置了一個(gè)廣播地址。
L 該接口是一個(gè)回送設(shè)備。
M 接收所有數(shù)據(jù)包(混亂模式)。
N 避免跟蹤。
O 在該接口上,禁用A R P。
P 這是一個(gè)點(diǎn)到點(diǎn)鏈接。
R 接口正在運(yùn)行。
U 接口處于“活動(dòng)”狀態(tài)。
其中RX-ERR/TX-ERR、 RX-DRP/TX-DRP和RX-OVR/TX-OVR的值應(yīng)該都為0,如果不為0,并且很大,那么網(wǎng)絡(luò)質(zhì)量肯定有問題,網(wǎng)絡(luò)傳輸性能也一代會(huì)下降。
Recv-Q:表示接收隊(duì)列。
Send-Q :表示發(fā)送隊(duì)列。
Local Address :表示本地機(jī)器名、端口
Foreign Address :表示遠(yuǎn)程機(jī)器名、端口
State:表示狀態(tài),其中
LISTEN :在監(jiān)聽狀態(tài)中。
???????? ESTABLISHED:已建立聯(lián)機(jī)的聯(lián)機(jī)情況。
???????? TIME_WAIT:該聯(lián)機(jī)在目前已經(jīng)是等待的狀態(tài)。
1.8 uptime
1.8.1 命令說明
Uptime主要是用來統(tǒng)計(jì)系統(tǒng)當(dāng)前的運(yùn)行狀態(tài)
1.8.2參數(shù)說明
-V? 顯示版本
1.8.3 結(jié)果說明
輸出信息依次是:系統(tǒng)現(xiàn)在的時(shí)間,系統(tǒng)從上次開機(jī)到現(xiàn)在運(yùn)行了多長時(shí)間,系統(tǒng)當(dāng)前有多少個(gè)登錄用戶,系統(tǒng)在一分鐘內(nèi)、5分鐘內(nèi)、15分鐘內(nèi)的平均負(fù)載
注意點(diǎn):如果load average值長期大于系統(tǒng)CPU的個(gè)數(shù)則說明CPU很繁忙,負(fù)載很高,可能會(huì)影響系統(tǒng)性能
1.9 ps
1.9.1命令說明
Ps命令是進(jìn)程查看命令,使用這個(gè)命令可以確定有哪些進(jìn)程正在運(yùn)行和運(yùn)行的狀態(tài)、進(jìn)程是否結(jié)束、進(jìn)程有沒有僵死、哪些進(jìn)程占用了過多的資源等。
1.9.2參數(shù)說明
常用參數(shù):
-A 顯示所有進(jìn)程(等價(jià)于-e)(utility)
-a 顯示一個(gè)終端的所有進(jìn)程,除了會(huì)話引線
-N 忽略選擇。
-d 顯示所有進(jìn)程,但省略所有的會(huì)話引線(utility)
-x 顯示沒有控制終端的進(jìn)程,同時(shí)顯示各個(gè)命令的具體路徑。dx不可合用。(utility)
-p pid 進(jìn)程使用cpu的時(shí)間
-u uid or username 選擇有效的用戶id或者是用戶名
-g gid or groupname 顯示組的所有進(jìn)程。
U username 顯示該用戶下的所有進(jìn)程,且顯示各個(gè)命令的詳細(xì)路徑。如:ps U zhang;(utility)
-f 全部列出,通常和其他選項(xiàng)聯(lián)用。如:ps -fa or ps -fx and so on.
-l 長格式(有F,wchan,C 等字段)
-j 作業(yè)格式
-o 用戶自定義格式。
v 以虛擬存儲(chǔ)器格式顯示
s 以信號(hào)格式顯示
-m 顯示所有的線程
-H 顯示進(jìn)程的層次(和其它的命令合用,如:ps -Ha)(utility)
e 命令之后顯示環(huán)境(如:ps -d e; ps -a e)(utility)
h 不顯示第一行
常用用法:
ps a:顯示現(xiàn)行終端機(jī)下的所有程序,包括其他用戶的程序。
ps -A :顯示所有程序。
ps c :列出程序時(shí),顯示每個(gè)程序真正的指令名稱,而不包含路徑,參數(shù)或常駐服務(wù)的標(biāo)示。
ps -e :此參數(shù)的效果和指定"A"參數(shù)相同。
ps e :列出程序時(shí),顯示每個(gè)程序所使用的環(huán)境變量。
ps f :用ASCII字符顯示樹狀結(jié)構(gòu),表達(dá)程序間的相互關(guān)系。
ps -H:顯示樹狀結(jié)構(gòu),表示程序間的相互關(guān)系。
ps –N:顯示所有的程序,除了執(zhí)行ps指令終端機(jī)下的程序之外。
ps s:采用程序信號(hào)的格式顯示程序狀況。
ps S :列出程序時(shí),包括已中斷的子程序資料。
ps -t<終端機(jī)編號(hào)> :指定終端機(jī)編號(hào),并列出屬于該終端機(jī)的程序的狀況。
ps u:以用戶為主的格式來顯示程序狀況。
ps x:顯示所有程序,不以終端機(jī)來區(qū)分。
Ps -l:較長較詳細(xì)的顯示該pid信息
最常用的方法是ps -aux,然后再利用一個(gè)管道符號(hào)導(dǎo)向到grep去查找特定的進(jìn)程,然后再對(duì)特定的進(jìn)程進(jìn)行操作。
1.9.3結(jié)果說明
USER??? 用戶名
UID??? 用戶ID(User ID)
PID??? 進(jìn)程ID(Process ID)
PPID??? 父進(jìn)程的進(jìn)程ID(Parent Process id)
SID??? 會(huì)話ID(Session id)
%CPU??? 進(jìn)程的cpu占用率
%MEM??? 進(jìn)程的內(nèi)存占用率
VSZ??? 進(jìn)程所使用的虛存的大小(Virtual Size)
RSS ?? 進(jìn)程使用的駐留集大小或者是實(shí)際內(nèi)存的大小,Kbytes字節(jié)。
TTY??? 與進(jìn)程關(guān)聯(lián)的終端(tty)
STAT ?? 進(jìn)程的狀態(tài):進(jìn)程狀態(tài)使用字符表示的(STAT的狀態(tài)碼)
R 運(yùn)行??? Runnable (on run queue)??????????? 正在運(yùn)行或在運(yùn)行隊(duì)列中等待。
S 睡眠??? Sleeping ?????????????? 休眠中, 受阻, 在等待某個(gè)條件的形成或接受到信號(hào)。
I 空閑??? Idle
Z 僵死??? Zombie(a defunct process)??????? 進(jìn)程已終止, 但進(jìn)程描述符存在, 直到父進(jìn)程調(diào)用wait4()系統(tǒng)調(diào)用后釋放。
D 不可中斷??? Uninterruptible sleep (ususally IO)??? 收到信號(hào)不喚醒和不可運(yùn)行, 進(jìn)程必須等待直到有中斷發(fā)生。
T 終止??? Terminate ?????????????? 進(jìn)程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號(hào)后停止運(yùn)行運(yùn)行。
P 等待交換頁
W 無駐留頁??? has no resident pages ?????? 沒有足夠的記憶體分頁可分配。
X 死掉的進(jìn)程
< 高優(yōu)先級(jí)進(jìn)程??????????????????? 高優(yōu)先序的進(jìn)程
N 低優(yōu)先??? 級(jí)進(jìn)程??????????????????? 低優(yōu)先序的進(jìn)程
L 內(nèi)存鎖頁??? Lock??????????????? 有記憶體分頁分配并縮在記憶體內(nèi)
s 進(jìn)程的領(lǐng)導(dǎo)者(在它之下有子進(jìn)程);
l 多進(jìn)程的(使用 CLONE_THREAD, 類似 NPTL pthreads)
+ 位于后臺(tái)的進(jìn)程組
START??? 進(jìn)程啟動(dòng)時(shí)間和日期
TIME??? 進(jìn)程使用的總cpu時(shí)間
COMMAND??? 正在執(zhí)行的命令行命令
NI??? 優(yōu)先級(jí)(Nice)
PRI??? 進(jìn)程優(yōu)先級(jí)編號(hào)(Priority)
WCHAN ?? 進(jìn)程正在睡眠的內(nèi)核函數(shù)名稱;該函數(shù)的名稱是從/root/system.map文件中獲得的。
FLAGS??? 與進(jìn)程相關(guān)的數(shù)字標(biāo)識(shí)
1.10 watch
1.10.1命令說明
實(shí)時(shí)監(jiān)測命令,還可以檢測其他命令運(yùn)行情況的命令
1.10.2參數(shù)說明
-d 高亮顯示變動(dòng)
-n 周期(秒)
1.10.3結(jié)果說明
Watch –d –n 1 netstat -ant
每秒監(jiān)測網(wǎng)絡(luò),高亮顯示變化。
1.11 strace
1.11.1命令說明
Strace命令用來跟蹤進(jìn)程執(zhí)行時(shí)的系統(tǒng)調(diào)用和所接收的信號(hào)。在Linux世界,進(jìn)程不能直接訪問硬件設(shè)備,當(dāng)進(jìn)程需要訪問硬件設(shè)備(比如讀取磁盤文件,接收網(wǎng)絡(luò)數(shù)據(jù)等等)時(shí),必須由用戶態(tài)模式切換至內(nèi)核態(tài)模式,通過系統(tǒng)調(diào)用訪問硬件設(shè)備。strace可以跟蹤到一個(gè)進(jìn)程產(chǎn)生的系統(tǒng)調(diào)用,包括參數(shù),返回值,執(zhí)行消耗的時(shí)間
1.11.2參數(shù)說明
strace使用參數(shù)
-p:跟蹤指定的進(jìn)程。
-f:跟蹤由fork子進(jìn)程系統(tǒng)調(diào)用。
-F:嘗試跟蹤vfork子進(jìn)程系統(tǒng)調(diào)吸入,與-f同時(shí)出現(xiàn)時(shí), vfork不被跟蹤。
-o filename:默認(rèn)strace將結(jié)果輸出到stdout。通過-o可以將輸出寫入到filename文件中。
-ff:常與-o選項(xiàng)一起使用,不同進(jìn)程(子進(jìn)程)產(chǎn)生的系統(tǒng)調(diào)用輸出到filename.PID文
-r:打印每一個(gè)系統(tǒng)調(diào)用的相對(duì)時(shí)間。
-t:在輸出中的每一行前加上時(shí)間信息。-tt 時(shí)間確定到微秒級(jí)。還可以使用-ttt打印相對(duì)時(shí)間。
-v:輸出所有系統(tǒng)調(diào)用。默認(rèn)情況下,一些頻繁調(diào)用的系統(tǒng)調(diào)用不會(huì)輸出。
-s:指定每一行輸出字符串的長度,默認(rèn)是32。文件名一直全部輸出。
-c:統(tǒng)計(jì)每種系統(tǒng)調(diào)用所執(zhí)行的時(shí)間,調(diào)用次數(shù),出錯(cuò)次數(shù)。
-e expr:輸出過濾器,通過表達(dá)式,可以過濾出掉你不想要輸出。
-d:輸出strace關(guān)于標(biāo)準(zhǔn)錯(cuò)誤的調(diào)試信息。
-h:輸出簡要的幫助信息。
-i:輸出系統(tǒng)調(diào)用的入口指針。
-q:禁止輸出關(guān)于脫離的消息。
-tt:在輸出中的每一行前加上時(shí)間信息,微秒級(jí)。
-T:顯示每一調(diào)用所耗的時(shí)間。
-V :輸出strace的版本信息。
-x:以十六進(jìn)制形式輸出非標(biāo)準(zhǔn)字符串。
-xx:所有字符串以十六進(jìn)制形式輸出。
1.11.3結(jié)果說明
strace -ff -F -o ls.log ls –l?? 跟蹤ls –l命令的執(zhí)行情況
當(dāng)某個(gè)函數(shù)執(zhí)行失敗時(shí),那么返回值一般為-1
1.12? lsof
1.12.1命令說明
Lsof的原始功能是列出打開的文件的進(jìn)程。Linux下一切皆文件。
1.12.2參數(shù)說明
-a :列出打開文件存在的進(jìn)程
-c<進(jìn)程名> :列出指定進(jìn)程所打開的文件
-g :列出GID號(hào)進(jìn)程詳情
-d<文件號(hào)> :列出占用該文件號(hào)的進(jìn)程
+d<目錄> :列出目錄下被打開的文件
+D<目錄> :遞歸列出目錄下被打開的文件
-n<目錄> :列出使用NFS的文件
-i<條件> :列出符合條件的進(jìn)程。
-p<進(jìn)程號(hào)>:列出指定進(jìn)程號(hào)所打開的文件
-u 后面跟username:列出該用戶相關(guān)進(jìn)程所打開文件
-U :僅列出系統(tǒng)socket文件類型
-h:顯示幫助信息
-v:顯示版本信息
1.12.3結(jié)果說明
列出所有root用戶下的socket文件進(jìn)程
COMMAND:進(jìn)程的名稱
PID:進(jìn)程標(biāo)識(shí)符
USER:進(jìn)程所有者
FD:文件描述符,應(yīng)用程序通過文件描述符識(shí)別該文件。如cwd、txt等
TYPE:文件類型,如DIR、REG等
DEVICE:指定磁盤的名稱
SIZE:文件的大小
NODE:索引節(jié)點(diǎn)(文件在磁盤上的標(biāo)識(shí))
NAME:打開文件的確切名稱
審核編輯:黃飛
?
評(píng)論