linux命令查看磁盤內(nèi)存CPU網(wǎng)絡(luò)等使用情況

一,查看磁盤

命令 說明
df -hl 查看磁盤剩余空間
df -h 查看每個(gè)根路徑的分區(qū)大小
du -sh [目錄名] 返回該目錄的大小
du -sm [文件夾] 返回該文件夾總M數(shù)
du -h [目錄名] 查看指定文件夾下的所有文件大小(包含子文件夾)
df -h 或df -H 查看硬盤剩余空間
du -hs 目錄名 查看目錄占用空間
sudo fdisk -l 查看硬盤的分區(qū)
sudo hdparm -i /dev/hda 查看IDE硬盤信息
sudo hdparm -I /dev/sda 或 #sudo apt-get install blktool #sudo blktool /dev/sda id 查看STAT硬盤信息
sync fuser -km /media/usbdisk 優(yōu)盤沒法卸載,強(qiáng)退
df --help或du --help 更多功能可以輸入一下命令查看:

二,查看內(nèi)存和CPU

輸入命令:top

PID USER PR NInice VIRT RES SHR S %CPU %MEM TIME+ COMMAND
進(jìn)程id 進(jìn)程所有者 進(jìn)程優(yōu)先級,越小越先執(zhí)行 進(jìn)程占用的虛擬內(nèi)存 進(jìn)程占用的物理內(nèi)存 進(jìn)程使用的共享內(nèi)存 進(jìn)程的狀態(tài)。S表示休眠,R表示正在運(yùn)行,Z表示僵死狀態(tài),N表示該進(jìn)程優(yōu)先值為負(fù)數(shù) 進(jìn)程占用CPU的使用率 進(jìn)程使用的物理內(nèi)存和總內(nèi)存的百分比 該進(jìn)程啟動(dòng)后占用的總的CPU時(shí)間,即占用CPU使用時(shí)間的累加值。 進(jìn)程啟動(dòng)命令名稱

輸入命令:free

image
total used free Shared Buffers cached
總計(jì)物理內(nèi)存的大小 已使用多大 可用有多少 多個(gè)進(jìn)程共享的內(nèi)存總額 磁盤 緩存
Buffers/cached used free
磁盤緩存的大小 已使用多大 可用有多少

區(qū)別:第二行(mem)的used/free與第三行(-/+ buffers/cache) used/free的區(qū)別。 這兩個(gè)的區(qū)別在于使用的角度來看,第一行是從OS的角度來看,因?yàn)閷τ贠S,buffers/cached 都是屬于被使用,所以他的可用內(nèi)存是434884KB,已用內(nèi)存是3489800KB,

第三行所指的是從應(yīng)用程序角度來看,對于應(yīng)用程序來說,buffers/cached 是等于可用的,因?yàn)閎uffer/cached是為了提高文件讀取的性能,當(dāng)應(yīng)用程序需在用到內(nèi)存的時(shí)候,buffer/cached會(huì)很快地被回收。
所以從應(yīng)用程序的角度來說,可用內(nèi)存=系統(tǒng)free memory+buffers+cached。

如上例:893176=434884+36436+421856

iostat命令查看

如果提示不存在,則安裝下即可,iostat在sysstat包中:

yum -y install sysstat

1.硬盤讀寫性能,查看TPS和吞吐量信息

iostat -d -k 1 10 
字段 說明
-d 顯示某塊具體硬盤,這里沒有給出硬盤路徑就是默認(rèn)全部了
-k 以KB為單位顯示
1 統(tǒng)計(jì)間隔為1秒
10 共統(tǒng)計(jì)10次的
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 14.54 417.21 368.06 15719357562 13867444535
dm-0 104.60 415.64 366.87 15660312829 13822621684
dm-1 0.69 1.57 1.19 59041280 44822840

2查看設(shè)備使用率(%util)、響應(yīng)時(shí)間(await). iostat -x 參數(shù),

 iostat -d -k -x 1 10
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
sda 4.87 85.88 8.41 6.14 417.21 368.06 107.98 0.02 8.92 2.73 3.97
dm-0 0.00 0.00 12.89 91.72 415.64 366.87 14.96 0.06 1.70 0.38 3.95
dm-1 0.00 0.00 0.39 0.30 1.57 1.19 8.00 0.02 35.25 1.45 0.10
字段 說明
rrqm/s 每秒這個(gè)設(shè)備相關(guān)的讀取請求有多少被Merge了(當(dāng)系統(tǒng)調(diào)用需要讀取數(shù)據(jù)的 時(shí)候,VFS將請求發(fā)到各個(gè)FS,如果FS發(fā)現(xiàn)不同的讀取請求讀取的是相同Block的數(shù)據(jù),F(xiàn)S會(huì)將這個(gè)請求合并Merge);
wrqm/s 每秒這個(gè) 設(shè)備相關(guān)的寫入請求有多少被Merge了。
r/s 每秒響應(yīng)的讀取請求數(shù);
w/s 每秒響應(yīng)的寫入請求數(shù);
rkB/s 每秒讀取的數(shù)據(jù)量;
wkB/s 每秒寫入的數(shù)據(jù)量
await 每一個(gè)IO請求的處理的平均時(shí)間(單位是微秒)。這里可以理解為IO的響應(yīng)時(shí) 間,一般地系統(tǒng)IO響應(yīng)時(shí)間應(yīng)該低于5ms,如果大于10ms就比較大了。
%util 在統(tǒng)計(jì)時(shí)間內(nèi)所有處理IO時(shí)間,除以總共統(tǒng)計(jì)時(shí)間。例如,如果統(tǒng)計(jì)間隔1秒,該 設(shè)備有0.8秒在處理IO,而0.2秒閑置,那么該設(shè)備的%util = 0.8/1 = 80%,所以該參數(shù)暗示了設(shè)備的繁忙程度。一般地,如果該參數(shù)是100%表示設(shè)備已經(jīng)接近滿負(fù)荷運(yùn)行了(當(dāng)然如果是多磁盤,即使%util是100%,因 為磁盤的并發(fā)能力,所以磁盤使用未必就到了瓶頸)。

3.iostat -c 參數(shù),查看CPU狀態(tài)信息

iostat -c 1 10
avg-cpu %user %nice %system %iowait %steal %idle
1.28 0.00 0.43 0.84 0.00 97.45
avg-cpu %user %nice %system %iowait %steal %idle
0.77 0.00 0.26 0.00 0.00 98.98
avg-cpu %user %nice %system %iowait %steal %idle
13.71 0.00 2.28 0.00 0.00 84.01

4.vmstat命令,查看內(nèi)存使用情況

vmstat 1 10

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------

r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 96 2934580 149988 274084 0 0 104 92 0 0 1 0 97 1 0
0 0 96 2934580 149988 274084 0 0 0 0 1088 252 0 0 100 0 0
0 0 96 2934468 149988 274200 0 0 148 0 1071 253 0 0 99 0 0
0 0 96 2934468 149988 274200 0 0 0 0 1069 283 0 0 100 0 0
2 0 96 2926656 150012 284304 0 0 0 332 1166 381 7 1 92 0 0
0 0 96 2935088 150032 274084 0 0 0 26560 1284 818 41 5 49 6 0
1 0 96 2933872 150096 274276 0 0 244 0 1226 887 36 4 59 0 0
0 0 96 2933872 150120 274692 0 0 0 0 1244 1646 15 1 84 0 0
0 0 96 2933756 150156 275040 0 0 0 0 1198 705 13 3 84 0 0
0 0 96 2933756 150156 275040 0 0 0 0 1097 328 0 0 100 0 0
字段 說明
**Procs ** 進(jìn)程
r 在運(yùn)行隊(duì)列中等待的進(jìn)程數(shù)
b 在等待io的進(jìn)程數(shù)
**Memory ** 內(nèi)存
swpd 虛擬內(nèi)存使用情況,單位:KB;切換到內(nèi)存交換區(qū)的內(nèi)存數(shù)量(k表示)。如果swpd的值不為0,或者比較大,比如超過了100m,只要si、so的值長期為0,系統(tǒng)性能還是正常
free 空閑的內(nèi)存,單位KB;當(dāng)前的空閑頁面列表中內(nèi)存數(shù)量(k表示)
buff 被用來做為緩存的內(nèi)存數(shù),單位:KB;作為buffer cache的內(nèi)存數(shù)量,一般對塊設(shè)備的讀寫才需要緩沖。
cache 作為page cache的內(nèi)存數(shù)量,一般作為文件系統(tǒng)的cache,如果cache較大,說明用到cache的文件較多,如果此時(shí)IO中bi比較小,說明文件系統(tǒng)效率比較好。
**Swap ** 磁盤內(nèi)存交互
si 從內(nèi)存進(jìn)入到內(nèi)存交換區(qū)數(shù)量,單位:KB/秒
so 從內(nèi)存交換區(qū)進(jìn)入到內(nèi)存數(shù)量,單位:KB/秒
**IO ** 設(shè)備收發(fā)
bi 從塊設(shè)備讀入數(shù)據(jù)的總量(讀磁盤)(每秒kb)。
bo 塊設(shè)備寫入數(shù)據(jù)的總量(寫磁盤)(每秒kb)這里我們設(shè)置的bi+bo參考值為1000,如果超過1000,而且wa值較大應(yīng)該考慮均衡磁盤負(fù)載,可以結(jié)合iostat輸出來分析
**System ** 切換
in 每秒的中斷數(shù),表示在某一時(shí)間間隔中觀測到的每秒設(shè)備中斷數(shù)。
cs 每秒的環(huán)境(上下文)切換次數(shù)
**CPU ** 處理器按 CPU 的總使用百分比來顯示
us CPU 列顯示了用戶方式下所花費(fèi) CPU 時(shí)間的百分比。us的值比較高時(shí),說明用戶進(jìn)程消耗的cpu時(shí)間多,但是如果長期大于50%,需要考慮優(yōu)化用戶的程序。
sy 列顯示了內(nèi)核進(jìn)程所花費(fèi)的cpu時(shí)間的百分比。這里us + sy的參考值為80%,如果us+sy 大于 80%說明可能存在CPU不足。
id 列顯示了cpu處在空閑狀態(tài)的時(shí)間百分比
wa 列顯示了IO等待所占用的CPU時(shí)間的百分比。這里wa的參考值為30%,如果wa超過30%,說明IO等待嚴(yán)重,這可能是磁盤大量隨機(jī)訪問造成的,也可能磁盤或者磁盤[訪問控制]

procs

r 列表示運(yùn)行和等待cpu時(shí)間片的進(jìn)程數(shù),如果長期大于1,說明cpu不足,需要增加cpu。
b 列表示在等待資源的進(jìn)程數(shù),比如正在等待I/O、或者內(nèi)存交換等。

r、b列一般為0,表示沒有等待進(jìn)程,如果不為0表示系統(tǒng)性能有問題
si、so 兩 列,表示內(nèi)存交換的頻繁程度,如果數(shù)值長期很大,表示內(nèi)存不夠,要和硬盤交換數(shù)據(jù),也可以表示要讀寫的數(shù)據(jù)每次都不一樣
bi、bo 兩列,表示I/O輸入輸出很頻繁

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容