Linux查看磁盘读写的方法

Linux查看磁盘读写的方法

首先 、用top命令查看
  top - 16:15:05 up 6 days,  6:25,  2 users,  load average: 1.45, 1.77, 2.14
  Tasks: 147 total,   1 running, 146 sleeping,   0 stopped,   0 zombie
  Cpus):  0.2% us,  0.2% sy,  0.0% ni, 86.9% id, 12.6% wa,  0.0% hi,  0.0% si
  Mem:   4037872k total,  4003648k used,    34224k free,     5512k buffers
  Swap:  7164948k total,   629192k used,  6535756k free,  3511184k cached
  查看12.6% wa
  IO等待所占用的CPU时间的百分比,高过30%时IO压力高
  其次、 用iostat -x 1 10
  如果 iostat 没有,要  yum install sysstat
  avg-cpu:  %user   %nice    %sys %iowait   %idle
  0.00       0.00     0.25    33.46    66.29
  Device:    rrqm/s  wrqm/s   r/s    w/s     rsec/s   wsec/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
  sda   0.00    0.00      0.00   0.00    0.00    0.00  0.00     0.00     0.00    0.00    0.00    0.00   0.00
  sdb   0.00   1122  17.00  9.00  192.00 9216.00    96.00  4608.00   123.79   137.23 1033.43  13.17 100.10
  sdc   0.00    0.00     0.00   0.00     0.00     0.00      0.00     0.00     0.00      0.00    0.00      0.00   0.00
  查看%util 100.10 %idle 66.29
  如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。
  idle小于70% IO压力就较大了,一般读取速度有较多的wait.
  同时可以结合vmstat 查看查看b参数等待资源的进程数)
  vmstat -1
  如果你想对硬盘做一个IO负荷的压力测试可以用如下命令
  time dd if=/dev/zero bs=1M count=2048 of=direct_2G
  此命令为在当前目录下新建一个2G的文件
  我们在新建文件夹的同时来测试IO的负荷情况
  再通过如下脚本查看高峰的进程io情况
  monitor_io_stats.sh
  #!/bin/sh
  /etc/init.d/syslog stop
  echo 1 > /proc/sys/vm/block_dump
  sleep 60
  dmesg | awk '/READ|WRITE|dirtied)/ {process[$1]++} END {for x in process) \
  print process[x],x}' |sort -nr |awk '{print $2 " " $1}' | \
  head -n 10
  echo 0 > /proc/sys/vm/block_dump
  /etc/init.d/syslog start
  或者用iodump.pl脚本

你可能感兴趣的:(linux,查看磁盘读写方法)