CentOS 下查看磁盘的读写状况

当系统变慢时候,我们首先关注的可能是cpu的指标,有时候发现cpu使用率一点都不高,但是系统还是卡,这时可能就需要关心另外一个影响性能的东西–磁盘的IO性能。通过top命令中的%wa可以获取系统当前的io状态,如果该值居高不小,那磁盘的IO可能就有问题了。另外可以通过iotop命令来详细了解什么程序在读写磁盘,速度以及命令行,pid 等信息。如果系统不存在该命令,可以

iotop命令是一个用来监视磁盘I/O使用状况的top类工具。iotop具有与top相似的UI,其中包括PID、用户、I/O、进程等相关信息。Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写情况,如果你想知道每个进程是如何使用IO的就比较麻烦,使用iotop命令可以很方便的查看。

iotop使用Python语言编写而成,要求Python2.5(及以上版本)和Linux kernel2.6.20(及以上版本)。iotop提供有源代码及rpm包,可从其官方主页下载。

安装

Ubuntu

apt-get install iotop

CentOS

yum install iotop

编译安装

wget http://guichaz.free.fr/iotop/files/iotop-0.4.4.tar.gz    
tar zxf iotop-0.4.4.tar.gz    
python setup.py build    
python setup.py install    

语法

iotop(选项)

选项

-o:只显示有io操作的进程
-b:批量显示,无交互,主要用作记录到文件。
-n NUM:显示NUM次,主要用于非交互式模式。
-d SEC:间隔SEC秒显示一次。
-p PID:监控的进程pid。
-u USER:监控的进程用户。

iotop常用快捷键:

  1. 左右箭头:改变排序方式,默认是按IO排序。
  2. r:改变排序顺序。
  3. o:只显示有IO输出的进程。
  4. p:进程/线程的显示方式的切换。
  5. a:显示累积使用量。
  6. q:退出。

实例

直接执行iotop就可以看到效果了:

Total DISK read:       0.00 B/s | Total DISK write:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    command
    1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % init [3]
    2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
    3 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/0]
    4 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]
    5 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/0]
    6 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/1]
    7 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/1]
    8 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/1]
    9 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [events/0]
   10 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [events/1]
   11 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [khelper]
2572 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [bluetooth]

 

 

另外可以通过dd命令来简单测试一下磁盘写操作的性能,例如:

dd if=/dev/zero of=test bs=64k count=4k oflag=dsync

命令执行完成后会给出磁盘写操作的平均速度。

miāomiāo

miāomiāo

早安比晚安更珍贵,因为没人会一醒来就想到你。

留下你的评论

*评论支持代码高亮<pre class="prettyprint linenums">代码</pre>