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腳本
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章