一分鐘內(nèi)檢查Linux服務(wù)器性能? 9個(gè)性能檢測(cè)常用的基本命令
作為一個(gè)Linux運(yùn)維人員,主要就是對(duì)Linux服務(wù)器的性能做一些優(yōu)化,本篇博文僅僅介紹如何性能檢測(cè)常用的指令!

1)uptime
命令返回的信息:
19:08:17 ? ? ? ? ? ? ?//系統(tǒng)當(dāng)前時(shí)間 up 127?days, ?3:00 ? ? ? ? //主機(jī)已運(yùn)行時(shí)間,時(shí)間越大,說明你的機(jī)器越穩(wěn)定 1 user ? ? ? ? ? ? ? ? // 用戶連接數(shù),是總連接數(shù)而不是用戶數(shù) load average: 0.00, 0.01, 0.05 ? ? ? ? ?// 系統(tǒng)平均負(fù)載,統(tǒng)計(jì)最近1,5,15分鐘的系統(tǒng)平均負(fù)載
2) dmesg
dmesg命令被用于檢查和控制內(nèi)核的環(huán)形緩沖區(qū)。kernel會(huì)將開機(jī)信息存儲(chǔ)在ring buffer中。您若是開機(jī)時(shí)來不及查看信息,可利用dmesg來查看。開機(jī)信息保存在/var/log/dmesg文件里。
常用選項(xiàng):
-c:顯示信息后,清除ring buffer中的內(nèi)容; -s<緩沖區(qū)大小>:預(yù)設(shè)置為8196,剛好等于ring buffer的大?。? -n:設(shè)置記錄信息的層級(jí)。
3)vmstat
vmstat命令的含義為顯示虛擬內(nèi)存狀態(tài)(“Virtual Memory Statistics”),但是它可以報(bào)告關(guān)于進(jìn)程、內(nèi)存、I/O等系統(tǒng)整體運(yùn)行狀態(tài)。
常用選項(xiàng):
-a:顯示活動(dòng)內(nèi)頁; -f:顯示啟動(dòng)后創(chuàng)建的進(jìn)程總數(shù); -m:顯示slab信息; -n:頭信息僅顯示一次; -s:以表格方式顯示事件計(jì)數(shù)器和內(nèi)存狀態(tài); -d:報(bào)告磁盤狀態(tài); -p:顯示指定的硬盤分區(qū)狀態(tài); -S:輸出信息的單位;
輸出的信息:
procs(進(jìn)程)
r: 運(yùn)行隊(duì)列中進(jìn)程數(shù)量,這個(gè)值也可以判斷是否需要增加CPU。(長期大于1); b: 等待IO的進(jìn)程數(shù)量;
memory(內(nèi)存)
swpd: 使用虛擬內(nèi)存大小,如果swpd的值不為0,但是SI,SO的值長期為0,這種情況不會(huì)影響系統(tǒng)性能; free: 空閑物理內(nèi)存大?。? buff: 用作緩沖的內(nèi)存大?。? cache: 用作緩存的內(nèi)存大小,如果cache的值大的時(shí)候,說明cache處的文件數(shù)多,如果頻繁訪問到的文件都能被cache處,那么磁盤的讀IO bi會(huì)非常??;
swap(交換分區(qū))
si: 每秒從交換區(qū)寫到內(nèi)存的大小,由磁盤調(diào)入內(nèi)存; so: 每秒寫入交換區(qū)的內(nèi)存大小,由內(nèi)存調(diào)入磁盤;
注意:內(nèi)存夠用的時(shí)候,這2個(gè)值都是0,如果這2個(gè)值長期大于0時(shí),系統(tǒng)性能會(huì)受到影響,磁盤IO和CPU資源都會(huì)被消耗。有些朋友看到空閑內(nèi)存(free)很少的或接近于0時(shí),就認(rèn)為內(nèi)存不夠用了,不能光看這一點(diǎn),還要結(jié)合si和so,如果free很少,但是si和so也很少(大多時(shí)候是0),那么不用擔(dān)心,系統(tǒng)性能這時(shí)不會(huì)受到影響的。
io(現(xiàn)在的Linux版本塊的大小為1kb)
bi: 每秒讀取的塊數(shù); bo: 每秒寫入的塊數(shù);
注意:隨機(jī)磁盤讀寫的時(shí)候,這2個(gè)值越大(如超出1024k),能看到CPU在IO等待的值也會(huì)越大。
system(系統(tǒng))
in: 每秒中斷數(shù),包括時(shí)鐘中斷; cs: 每秒上下文切換數(shù);
注意:上面2個(gè)值越大,會(huì)看到由內(nèi)核消耗的CPU時(shí)間會(huì)越大。
cpu(以百分比表示)
us: 用戶進(jìn)程執(zhí)行時(shí)間百分比; us的值比較高時(shí),說明用戶進(jìn)程消耗的CPU時(shí)間多,但是如果長期超50%的使用,那么我們就該考慮優(yōu)化程序算法或者進(jìn)行加速。 sy: 內(nèi)核系統(tǒng)進(jìn)程執(zhí)行時(shí)間百分比; sy的值高時(shí),說明系統(tǒng)內(nèi)核消耗的CPU資源多,這并不是良性表現(xiàn),我們應(yīng)該檢查原因。 wa: IO等待時(shí)間百分比 wa的值高時(shí),說明IO等待比較嚴(yán)重,這可能由于磁盤大量作隨機(jī)訪問造成,也有可能磁盤出現(xiàn)瓶頸(塊操作)。 id: 空閑時(shí)間百分比
4)mpstat
mpstat命令指令主要用于多CPU環(huán)境下,它顯示各個(gè)可用CPU的狀態(tài)信息。這些信息存放在/proc/stat文件中。在多CPUs系統(tǒng)里,其不但能查看所有CPU的平均狀況信息,而且能夠查看特定CPU的信息。
5)pidstat
pidstat用于打印各個(gè)進(jìn)程對(duì)CPU的占用情況,類似top命令中顯示的內(nèi)容。pidstat的優(yōu)勢(shì)在于,可以滾動(dòng)的打印進(jìn)程運(yùn)行情況,而不像top那樣會(huì)清屏。
6)iostat
iostat命令被用于監(jiān)視系統(tǒng)輸入輸出設(shè)備和CPU的使用情況。它的特點(diǎn)是匯報(bào)磁盤活動(dòng)統(tǒng)計(jì)情況,同時(shí)也會(huì)匯報(bào)出CPU使用情況。同vmstat一樣,iostat也有一個(gè)弱點(diǎn),就是它不能對(duì)某個(gè)進(jìn)程進(jìn)行深入分析,僅對(duì)系統(tǒng)的整體情況進(jìn)行分析。
常用選項(xiàng):
-c:僅顯示CPU使用情況; -d:僅顯示設(shè)備利用率; -k:顯示狀態(tài)以千字節(jié)每秒為單位,而不使用塊每秒; -m:顯示狀態(tài)以兆字節(jié)每秒為單位; -p:僅顯示塊設(shè)備和所有被使用的其他分區(qū)的狀態(tài); -t:顯示每個(gè)報(bào)告產(chǎn)生時(shí)的時(shí)間; -V:顯示版號(hào)并退出; -x:顯示擴(kuò)展?fàn)顟B(tài)。
詳細(xì)說明:第二行是系統(tǒng)信息和監(jiān)測(cè)時(shí)間,第三行和第四行顯示CPU使用情況(具體內(nèi)容和mpstat命令相同)。這里主要關(guān)注后面I/O輸出的信息,如下所示:
Device:監(jiān)測(cè)設(shè)備名稱 rrqm/s:每秒需要讀取需求的數(shù)量 wrqm/s:每秒需要寫入需求的數(shù)量 r/s:每秒實(shí)際讀取需求的數(shù)量 w/s:每秒實(shí)際寫入需求的數(shù)量 rsec/s:每秒讀取區(qū)段的數(shù)量 wsec/s:每秒寫入?yún)^(qū)段的數(shù)量 rkB/s:每秒實(shí)際讀取的大小,單位為KB wkB/s:每秒實(shí)際寫入的大小,單位為KB avgrq-sz:需求的平均大小區(qū)段 avgqu-sz:需求的平均隊(duì)列長度 await:等待I/O平均的時(shí)間(milliseconds) svctm:I/O需求完成的平均時(shí)間 %util:被I/O需求消耗的CPU百分比
7)free
free命令可以顯示當(dāng)前系統(tǒng)未使用的和已使用的內(nèi)存數(shù)目,還可以顯示被內(nèi)核使用的內(nèi)存緩沖區(qū)。
- 常用選項(xiàng):
-b:以Byte為單位顯示內(nèi)存使用情況; -k:以KB為單位顯示內(nèi)存使用情況; -m:以MB為單位顯示內(nèi)存使用情況; -o:不顯示緩沖區(qū)調(diào)節(jié)列; -s<間隔秒數(shù)>:持續(xù)觀察內(nèi)存使用狀況; -t:顯示內(nèi)存總和列; -V:顯示版本信息。
返回信息:
total:內(nèi)存總數(shù); used:已經(jīng)使用的內(nèi)存數(shù); free:空閑的內(nèi)存數(shù); shared:當(dāng)前已經(jīng)廢棄不用; buffers Buffer:緩存內(nèi)存數(shù); available 還可以被 應(yīng)用程序 使用的物理內(nèi)存大??;
8)sar
sar命令是Linux下系統(tǒng)運(yùn)行狀態(tài)統(tǒng)計(jì)工具,它將指定的操作系統(tǒng)狀態(tài)計(jì)數(shù)器顯示到標(biāo)準(zhǔn)輸出設(shè)備。sar工具將對(duì)系統(tǒng)當(dāng)前的狀態(tài)進(jìn)行取樣,然后通過計(jì)算數(shù)據(jù)和比例來表達(dá)系統(tǒng)的當(dāng)前運(yùn)行狀態(tài)。它的特點(diǎn)是可以連續(xù)對(duì)系統(tǒng)取樣,獲得大量的取樣數(shù)據(jù)。取樣數(shù)據(jù)和分析的結(jié)果都可以存入文件,使用它時(shí)消耗的系統(tǒng)資源很小。
常用選項(xiàng):
-A:顯示所有的報(bào)告信息; -b:顯示I/O速率; -B:顯示換頁狀態(tài); -c:顯示進(jìn)程創(chuàng)建活動(dòng); -d:顯示每個(gè)塊設(shè)備的狀態(tài); -e:設(shè)置顯示報(bào)告的結(jié)束時(shí)間; -f:從指定文件提取報(bào)告; -i:設(shè)狀態(tài)信息刷新的間隔時(shí)間; -P:報(bào)告每個(gè)CPU的狀態(tài); -R:顯示內(nèi)存狀態(tài); -u:顯示CPU利用率; -v:顯示索引節(jié)點(diǎn),文件和其他內(nèi)核表的狀態(tài); -w:顯示交換分區(qū)狀態(tài); -x:顯示給定進(jìn)程的狀態(tài);
返回信息:
IFACE ,網(wǎng)絡(luò)接口名稱; rxpck/s ,每秒接收到包數(shù); txpck/s ,每秒傳輸?shù)膱?bào)數(shù);(transmit packages) rxkB/s ,每秒接收的千字節(jié)數(shù); txkB/s ,每秒發(fā)送的千字節(jié)數(shù); rxcmp/s ,每秒接收的壓縮包的數(shù)量; txcmp/s ,每秒發(fā)送的壓縮包的數(shù)量; rxmcst/s,每秒接收的組數(shù)據(jù)包數(shù)量;
返回信息:
active/s:發(fā)起的網(wǎng)絡(luò)連接數(shù)量; passive/s:接收的網(wǎng)絡(luò)連接數(shù)量; retrans/s:重傳的數(shù)量;
9)top
top命令可以實(shí)時(shí)動(dòng)態(tài)地查看系統(tǒng)的整體運(yùn)行情況,是一個(gè)綜合了多方信息監(jiān)測(cè)系統(tǒng)性能和運(yùn)行信息的實(shí)用工具。通過top命令所提供的互動(dòng)式界面,用熱鍵可以管理。
常用選項(xiàng):
-b:以批處理模式操作; -c:顯示完整的治命令; -d:屏幕刷新間隔時(shí)間; -I:忽略失效過程; -s:保密模式; -S:累積模式; -i<時(shí)間>:設(shè)置間隔時(shí)間; -u<用戶名>:指定用戶名; -p<進(jìn)程號(hào)>:指定進(jìn)程; -n<次數(shù)>:循環(huán)顯示的次數(shù);
top交互命令:
h:顯示幫助畫面,給出一些簡(jiǎn)短的命令總結(jié)說明; k:終止一個(gè)進(jìn)程; i:忽略閑置和僵死進(jìn)程,這是一個(gè)開關(guān)式命令; q:退出程序; r:重新安排一個(gè)進(jìn)程的優(yōu)先級(jí)別; S:切換到累計(jì)模式; s:改變兩次刷新之間的延遲時(shí)間(單位為s),如果有小數(shù),就換算成ms。輸入0值則系統(tǒng)將不斷刷新,默認(rèn)值是5s; f或者F:從當(dāng)前顯示中添加或者刪除項(xiàng)目; o或者O:改變顯示項(xiàng)目的順序; l:切換顯示平均負(fù)載和啟動(dòng)時(shí)間信息; m:切換顯示內(nèi)存信息; t:切換顯示進(jìn)程和CPU狀態(tài)信息; c:切換顯示命令名稱和完整命令行; M:根據(jù)駐留內(nèi)存大小進(jìn)行排序; P:根據(jù)CPU使用百分比大小進(jìn)行排序; T:根據(jù)時(shí)間/累計(jì)時(shí)間進(jìn)行排序; w:將當(dāng)前設(shè)置寫入~/.toprc文件中;
相關(guān)文章

揭秘當(dāng)前登錄用戶的身份! Linux中使用logname命令的技巧
logname命令就是這樣一個(gè)簡(jiǎn)單但強(qiáng)大的工具,它能幫助我們輕松獲取當(dāng)前登錄用戶的用戶名,今天,我們就來深入探索一下這個(gè)命令的工作原理、使用方法和最佳實(shí)踐2026-02-26
在 Linux 系統(tǒng)中,DNS 緩存是一種將域名和 IP 地址映射關(guān)系緩存在本地的機(jī)制,可以加快域名解析速度,并減輕 DNS 服務(wù)器的負(fù)載2026-02-26
文件查找神器! Linux中l(wèi)ocate與find命令進(jìn)行不區(qū)分大小寫的文件搜索用
linux 中有很多查找工具,今天主要講解locate,find兩個(gè)工具,掌握這些工具不僅能提高工作效率,還能使系統(tǒng)管理更加便捷2026-02-26
親愛的小伙伴們,今天要給大家分享一些Linux系統(tǒng)中的常用命令,讓你輕松上手,成為命令行高手2026-02-26
在Linux系統(tǒng)中,使用命令別名可以大大減少輸入命令時(shí)需要鍵入的內(nèi)容,別名實(shí)際上是一個(gè)命令的簡(jiǎn)短版本,允許你使用更少的字符來執(zhí)行相同的操作2026-02-26
如何 Linux 上列出磁盤信息? 7個(gè)命令輕松搞定
在 Linux 系統(tǒng)中,了解和管理磁盤是非常重要的,無論是查看可用的磁盤空間、掛載新的磁盤還是調(diào)整分區(qū)大小,都需要準(zhǔn)確地列出系統(tǒng)中的磁盤信息,詳細(xì)內(nèi)容如下2026-02-25
linux下ping本機(jī)沒反應(yīng)怎么辦? LINUX下ping命令不通的常見原因與排查方
Ping不通,即在使用Ping命令時(shí),無法接收到任何Ping應(yīng)答報(bào)文的現(xiàn)象,造成這個(gè)問題的原因很多,下面我們就來一一分析和解決方法2025-09-20
htop和top有什么區(qū)別? 一文吃透Linux htop命令安裝和使用指南
htop命令是一個(gè)Linux實(shí)用程序,用于顯示有關(guān)系統(tǒng)進(jìn)程的關(guān)鍵信息,它可以被看作是Windows任務(wù)管理器的Linux版本,Htop更像是一個(gè)交互式程序,因?yàn)樗С质髽?biāo)和鍵盤操作來在2025-08-09
在linux中刪除文件與文件夾我們可以直接使用rmdir和rm命令就可以刪除了,接下來是小編為大家收集的Linux下刪除文件命令,希望能幫到大家2025-08-08
深入解析Linux文件系統(tǒng)目錄結(jié)構(gòu)與常用命令詳解
在Linux系統(tǒng)中,文件與目錄的架構(gòu)是分層次進(jìn)行組織的,每個(gè)目錄都承擔(dān)著其特定的職能與角色,今天我們就來星系解讀一下2025-08-08



