【Linux資源管理】iotop命令監控磁盤使用情況


一、iotop工具介紹

I/O可謂是數據庫\服務器的最大瓶頸問題了,在使用top、nmon、zabbix、sar等工具監控I/O時,要么沒有I/O監控(如top、zabbix),要么僅僅監控到磁盤層面(如nmon、sar)。然而,當服務器出現問題時,我們更想了解的是哪個進程占用了較多的I/O,這種情況下就可以使用iotop命令來監控。

redhat linux 5.5自帶了iotop工具,無需手動安裝。查看是否安裝了iotop工具:

[root@OCP ~]# which iotop
/usr/sbin/iotop

如果要了解iotop如何使用,可以使用man命令:

[root@OCP ~]# man iotop

 

二、iotop工具用法

iotop [-選項]

選項有:

選項 解釋 示例
-o 只顯示有I/O操作的進程或線程,即存在disk read或disk write。 iotop -o
-b 批量顯示,無交互,主要用於記錄到文件 iotop -b >> iotop.txt
-n NUM 顯示NUM次,主要用於非交互模式 iotop -b -n 3 >> iotop.txt
-d SEC 間隔SEC秒更新一次數據,默認1s iotop –d 5
-p PID 列出監控的進程,默認全部 iotop –p 3313(僅監控3313進程)
-u USER 列出需要監控的用戶,默認所有用戶 iotop –u oracle
   

 

iotop的快捷鍵:

左右箭頭:改變排序,默認按照IO使用百分比排序

r         :反轉排序結果

o        :只顯示有I/O的進程和線程

a        :顯示累積使用量

q        :退出

 

三、iotop工具展示

image

第一行是總的I/O統計信息,描述總的I/O讀寫情況。

第二行是列名稱,從左到右依次是:

TID  :線程編號

PRIO :未知

USER:用戶信息

DISK READ  :磁盤讀,以對用戶友好的方式顯示

DISK WRITE:磁盤寫,以對用戶友好的方式顯示

SWAPIN     : swap空間使用百分比

IO>           :IO使用百分比,“>”代表以IO排序,可以使用左右光標鍵調整使用哪一列來排序

COMMAND  :進程發起程序名

 

四、iotop使用測試

(1)寫數據模擬

image

往數據庫插入大量數據測試,可以看到,此時lgwr進程與dbwn還有arch進程磁盤寫非常的高。但是無法看到用戶進程信息。

(2)讀數據模擬

對無索引的大表(2千萬行)進行查詢。SELECT * FROM   lijiaman.t_iotop  a WHERE  a.t_name = 'M';

image

可以看到用戶進程消耗的IO非常的高,LOCAL=NO是oracle的直連用戶進程。

 

【完】


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM