Linux系統(tǒng)IO負(fù)載情況的查詢和案例分析
概述
本文主要對(duì)Linux系統(tǒng)IO負(fù)載情況的查詢和案例分析進(jìn)行說明。
詳細(xì)信息
- 如果您對(duì)實(shí)例或數(shù)據(jù)有修改、變更等風(fēng)險(xiǎn)操作,務(wù)必注意實(shí)例的容災(zāi)、容錯(cuò)能力,確保數(shù)據(jù)安全。
- 如果您對(duì)實(shí)例(包括但不限于ECS、RDS)等進(jìn)行配置與數(shù)據(jù)修改,建議提前創(chuàng)建快照或開啟RDS日志備份等功能。
- 如果您在阿里云平臺(tái)授權(quán)或者提交過登錄賬號(hào)、密碼等安全信息,建議您及時(shí)修改。
IO負(fù)載的查詢與分析
使用iostat從系統(tǒng)緯度查看磁盤IO負(fù)載
iostat并非常見Linux發(fā)行版本自帶工具,其包含在sysstat軟件包中,需要先通過yum或apt-get等方式進(jìn)行安裝后才能使用。具體安裝方法本文不再詳述。
用法說明
執(zhí)行如下命令,查看磁盤IO負(fù)載。
iostat -d -k 2
注:
- -d:顯示設(shè)備(磁盤)使用狀態(tài)。
- -k:表示讓某些使用block為單位的列強(qiáng)制使用kB為單位。
- 2:數(shù)據(jù)顯示每隔2秒刷新一次。
系統(tǒng)顯示類似如下。
Linux 3.10.0-123.9.3.el7.x8664 (centos) 06/27/2016 _x86_64 (1 CPU) Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn xvda 0.58 0.12 3.75 278001 8820028 xvdb 0.00 0.00 0.00 740 0 xvdc 0.00 0.00 0.00 1388 0 xvde 0.00 0.00 0.00 2035 0 xvdf 0.00 0.00 0.00 740 0
提示:更多參數(shù)及返回結(jié)果說明,可以參閱iostat的man幫助。
使用iotop從進(jìn)程緯度查看磁盤IO負(fù)載
iotop也并非常見Linux發(fā)行版本自帶工具,也需要先通過yum或apt-get等方式進(jìn)行安裝后才能使用。具體安裝方法本文不再詳述。
提示:可以通過iotop從進(jìn)程維度對(duì)系統(tǒng)內(nèi)進(jìn)程的IO使用情況進(jìn)行排序。
用法說明
執(zhí)行iotop命令,可以看到類似以下界面。
系統(tǒng)顯示說明
- 默認(rèn)情況下按照IO使用量倒序排序,可以用左右箭頭操作排序的字段。
- 按r切換排序方式。
- 按o只顯示有磁盤IO活動(dòng)的進(jìn)程。
- 更多參數(shù)及返回結(jié)果說明,可以參閱iotop的man幫助。
IO負(fù)載相關(guān)操作案例
kjournald進(jìn)程占用IO資源高問題
問題描述
使用iotop排查分析,發(fā)現(xiàn)kjournald進(jìn)程占用了大量IO資源。
問題原因
kjournald進(jìn)程是ext3文件系統(tǒng)進(jìn)行IO數(shù)據(jù)操作的內(nèi)核進(jìn)程,它會(huì)在向磁盤內(nèi)寫入和讀取數(shù)據(jù)時(shí)占用CPU和內(nèi)存資源。該問題通常是由于ext3文件系統(tǒng)循環(huán)的寫數(shù)據(jù),Journal size不斷增大,進(jìn)而占滿導(dǎo)致。
處理辦法
執(zhí)行如下命令,通過dumpe2fs指令查看相應(yīng)分區(qū)的Journal size配置情況,然后嘗試調(diào)大該值,看問題是否緩解。
dumpe2fs /dev/xvda1 | grep Journal
系統(tǒng)顯示類似如下。
dumpe2fs 1.42.9 (28-Dec-2013) Journal inode: 8 Journal backup: inode blocks Journal features: journal_incompat_revoke Journal size: 128M Journal length: 32768 Journal sequence: 0x00010ffb Journal start: 10953
通過4K對(duì)齊提高IO性能
本節(jié)主要介紹如何通過如下腳本對(duì)磁盤進(jìn)行格式化并自動(dòng)配置4K對(duì)齊。
提示:運(yùn)行此腳本會(huì)自動(dòng)格式化所有數(shù)據(jù)盤磁盤。如果并非新購磁盤,請(qǐng)?jiān)诓僮髑?,?wù)必確認(rèn)已經(jīng)完成相關(guān)磁盤上的數(shù)據(jù)備份??梢酝ㄟ^快照進(jìn)行磁盤的備份,操作方法可以參見創(chuàng)建快照。
-
將如下壓縮包解壓,將解壓后腳本并上傳到目標(biāo)服務(wù)器。
auto_fdisk.zip -
進(jìn)入腳本所在目錄,使用root用戶,依次執(zhí)行如下命令,給腳本添加執(zhí)行權(quán)限,然后運(yùn)行腳本即可。
chmod +x ./auto_fdisk.sh ./auto_fdisk.sh