查看linux服务器硬盘IO读写负载

简介:

最近一台linux服务器出现异常,系统反映很慢,相应的应用程序也无法反映,而且还出现死机的情况,经过几天的观察了解,发现服务器压力很大,主要的压力来自硬盘的IO访问已经达到100%

  为了方便各位和自己今后遇到此类问题能尽快解决,我这里将查看linux服务器硬盘IO访问负荷的方法同大家一起分享:

  首先 、用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

  Cpu(s):  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服务器硬盘IO读写负载,如需转载请自行联系原博主。

相关文章
|
5天前
|
Java Linux
java读取linux服务器下某文档的内容
java读取linux服务器下某文档的内容
16 3
java读取linux服务器下某文档的内容
|
8天前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
58 5
|
16天前
|
Ubuntu Linux
Linux服务器的自动启动可以在哪里进行配置?
Linux服务器的自动启动可以在哪里进行配置?
72 3
|
24天前
|
存储 数据挖掘 Linux
服务器数据恢复—Linux操作系统网站服务器数据恢复案例
服务器数据恢复环境: 一台linux操作系统服务器上跑了几十个网站,服务器上只有一块SATA硬盘。 服务器故障: 服务器突然宕机,尝试再次启动失败。将硬盘拆下检测,发现存在坏扇区
|
1月前
|
存储 安全 Linux
离线Linux服务器环境搭建
【9月更文挑战第3天】在离线环境下搭建Linux服务器需按以下步骤进行:首先确定服务器用途及需求,准备安装介质与所需软件包;接着安装Linux系统并配置网络;然后设置系统基础参数,如主机名与时区;安装必要软件并配置服务;最后进行安全设置,包括关闭非必要服务、配置防火墙、强化用户认证及定期备份数据。整个过程需确保软件包的完整性和兼容性。
|
1月前
|
存储 监控 Linux
监控Linux服务器
详细介绍了如何监控Linux服务器,包括监控CPU、内存、磁盘存储和带宽的使用情况,以及使用各种系统监控工具如vmstat、iostat、sar、top和dstat来分析系统性能,并推荐了一些开源监控系统。
33 0
监控Linux服务器
|
1月前
|
监控 安全 网络协议
快速配置Linux云服务器
快速配置Linux云服务器
Linux让挂载的硬盘永久生效
Linux让挂载的硬盘永久生效
Linux让挂载的硬盘永久生效
|
Linux
Linux挂载硬盘
Linux挂载硬盘
554 2
下一篇
无影云桌面