瀏覽量:12次
怎樣才能快速的定位到并發(fā)高是由于磁盤io開銷大呢?可以通過三種方式:
第一種:用 top 命令 中的cpu 信息觀察
Top可以看到的cpu信息有:
Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% si
具體的解釋如下:
Tasks: 29 total 進(jìn)程總數(shù)
1 running 正在運行的進(jìn)程數(shù)
28 sleeping 睡眠的進(jìn)程數(shù)
0 stopped 停止的進(jìn)程數(shù)
0 zombie 僵尸進(jìn)程數(shù)
Cpu(s):
0.3% us 用戶空間占用CPU百分比
1.0% sy 內(nèi)核空間占用CPU百分比
0.0% ni 用戶進(jìn)程空間內(nèi)改變過優(yōu)先級的進(jìn)程占用CPU百分比
98.7% id 空閑CPU百分比
0.0% wa 等待輸入輸出的CPU時間百分比
0.0% hi
0.0% si
0.0% wa 的百分比可以大致的體現(xiàn)出當(dāng)前的磁盤io請求是否頻繁。如果 wa的數(shù)量比較大,說明等待輸入輸出的的io比較多。
第二種:用vmstat
vmstat 命令報告關(guān)于線程、虛擬內(nèi)存、磁盤、陷阱和 CPU 活動的統(tǒng)計信息。由 vmstat 命令生成的報告可以用于平衡系統(tǒng)負(fù)載活動。系統(tǒng)范圍內(nèi)的這些統(tǒng)計信息(所有的處理器中)都計算出以百分比表示的平均值,或者計算其總和。
輸入命令:
vmstat 2 5
如果發(fā)現(xiàn)等待的進(jìn)程和處在非中斷睡眠狀態(tài)的進(jìn)程數(shù)非常多,并且發(fā)送到塊設(shè)備的塊數(shù)和從塊設(shè)備接收到的塊數(shù)非常大,那就說明磁盤io比較多。
vmstat參數(shù)解釋:
Procs
r: 等待運行的進(jìn)程數(shù) b: 處在非中斷睡眠狀態(tài)的進(jìn)程數(shù) w: 被交換出去的可運行的進(jìn)程數(shù)。此數(shù)由 linux 計算得出,但 linux 并不耗盡交換空間
Memory
swpd: 虛擬內(nèi)存使用情況,單位:KB
free: 空閑的內(nèi)存,單位KB
buff: 被用來做為緩存的內(nèi)存數(shù),單位:KB
Swap
si: 從磁盤交換到內(nèi)存的交換頁數(shù)量,單位:KB/秒
so: 從內(nèi)存交換到磁盤的交換頁數(shù)量,單位:KB/秒
IO
bi: 發(fā)送到塊設(shè)備的塊數(shù),單位:塊/秒
bo: 從塊設(shè)備接收到的塊數(shù),單位:塊/秒
System
in: 每秒的中斷數(shù),包括時鐘中斷
cs: 每秒的環(huán)境(上下文)切換次數(shù)
CPU
按 CPU 的總使用百分比來顯示
us: CPU 使用時間
sy: CPU 系統(tǒng)使用時間
id: 閑置時間
準(zhǔn)測
更多vmstat使用信息
第二種:用iostat
安裝:
Iostat 是 sysstat 工具集的一個工具,需要安裝。
Centos的安裝方式是:
yum install sysstat
Ubuntu的安裝方式是:
aptitude install sysstat
使用:
iostat -dx 顯示磁盤擴展信息
root@fileapp:~# iostat -dx
r/s 和 w/s 分別是每秒的讀操作和寫操作,而rKB/s 和wKB/s 列以每秒千字節(jié)為單位顯示了讀和寫的數(shù)據(jù)量
如果這兩對數(shù)據(jù)值都很高的話說明磁盤io操作是很頻繁。
[聲明]本網(wǎng)轉(zhuǎn)載網(wǎng)絡(luò)媒體稿件是為了傳播更多的信息,此類稿件不代表本網(wǎng)觀點,本網(wǎng)不承擔(dān)此類稿件侵權(quán)行為的連帶責(zé)任。故此,如果您發(fā)現(xiàn)本網(wǎng)站的內(nèi)容侵犯了您的版權(quán),請您的相關(guān)內(nèi)容發(fā)至此郵箱【779898168@qq.com】,我們在確認(rèn)后,會立即刪除,保證您的版權(quán)。
官網(wǎng)優(yōu)化
整站優(yōu)化
渠道代理
400-655-5776