`
Robinson
  • 浏览: 90672 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

linux io

    博客分类:
  • OS
阅读更多

最近一台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 >

分享到:
评论

相关推荐

    linux IO 字符形操作

    Linux IO操作主要分为两大类:缓冲I/O和直接I/O。缓冲I/O是通过标准C库中的函数实现,例如fopen、fprintf、fread、fwrite、fclose等,这些函数实际上调用的是Linux的系统调用。直接I/O则是使用系统调用,如open、...

    Linux IO数据通道我理解之分享

    ### Linux IO数据通道详解 #### 一、IO数据通道处理层次 在Linux系统中,输入/输出(Input/Output,简称IO)操作是一项基础而重要的功能。为了更好地管理和优化IO操作,Linux内核设计了一套复杂的IO数据通道处理...

    Linux IO调度算法比较

    ### Linux IO调度算法详解 #### 一、引言 在现代计算系统中,I/O(输入/输出)操作是不可避免的。特别是在涉及大量数据存取的场景下,如数据库服务、文件系统操作等,I/O性能直接影响着系统的整体效率。由于磁盘...

    Linux IO数据通道我理解

    ### Linux IO数据通道理解 #### 一、IO数据通道处理层次 在Linux系统中,输入/输出(IO)数据通道的处理是一个复杂的过程,涉及到多个层次的协作与交互。了解这些层次及其工作原理对于深入理解Linux系统的IO机制至...

    linux IO 系统的开销比较(文件逆序)

    在Linux操作系统中,I/O(Input/Output)操作是计算机与外部设备交互的关键部分,尤其在处理大量数据时,如文件操作。本话题主要探讨在Linux环境下,针对文件逆序操作的不同I/O策略的性能比较。我们将分析四种不同的...

    linux io 模型

    linux io模型,区分阻塞非阻塞同步异步的概念,从底层理解io。

    linux io层次图

    ### Linux I/O 层次结构解析 #### 一、引言 Linux I/O 层次图是理解操作系统如何处理输入输出请求的关键。本篇将基于提供的文件内容详细解析 Linux I/O 层次结构中的各个组成部分及其功能。 #### 二、整体架构 ...

    linux IO优化

    ### Linux IO优化详解 #### 一、Linux IO调度器概览 Linux系统中的IO调度算法是操作系统内核的重要组成部分,负责管理和调度磁盘I/O请求,以提高系统的整体性能。根据不同的应用场景,Linux提供了多种I/O调度算法...

    Linux Socket编程、Linux IO模型、Linux 进程间通信完整用例

    在Linux中,有五种主要的IO模型:阻塞IO、非阻塞IO、IO复用(如select、poll、epoll)、信号驱动IO和异步IO。每种模型都有其适用场景和优缺点。例如,阻塞IO简单易用,但会阻塞进程直到数据准备就绪;非阻塞IO不会...

    Linux IO 与 进程的免费PDF,下载就能看

    "Linux IO 与 进程:理解进程间通信和IO机制" 在Linux操作系统中,进程间通信(IPC)和IO机制是两个非常重要的概念。进程间通信是指两个或多个进程之间的数据交换和协作的机制,而IO机制则是指计算机系统中数据输入...

    GPIO.rar_GPIO_GPIO linux _Linux IO_io_linux gpio

    标题中的"GPIO.rar_GPIO_GPIO linux_Linux IO_io_linux gpio"表明这是一个关于Linux GPIO驱动程序的资源包,主要涉及Linux系统下的GPIO读写操作。 在Linux中,GPIO的操作通常需要通过内核驱动来实现。Linux提供了...

    Linux IO数据通道分享

    Linux IO数据通道: 1.虚拟文件系统层:屏蔽下层具体文件系统操作的差异,为上层的操作提供一个统一的接口。因为有了这个层次,所以可以把设备抽象成文件,使得操作设备就像操作文件一样简单。 2.具体的文件系统层:...

    Linux IO 之 IO与网络模型.pdf

    Linux IO 之 IO 与网络模型 Linux 内核提供了多种 IO 模型,以满足不同场景下的需求,包括阻塞、非阻塞、多路复用、信号 IO、异步 IO 等。这些 IO 模型的选择对应用程序的性能和响应速度有着重要的影响。 1. 阻塞 ...

    linux io接口函数整理

    io接口函数整理

    LinuxIO及文件编程.pdf

    LinuxIO及文件编程.pdf 本文档讲解了LinuxIO及文件编程的知识点,涵盖了C标准I/O库函数和Unbuffered I/O函数的实现机理、关系和使用场景。 C标准I/O库函数 C标准I/O库函数是C语言标准库的一部分,提供了丰富的...

    LinuxIO通信模型漫谈.pdf

    Linux IO 通信模型概述 在 Linux 系统中,IO 通信模型是网络编程的基础。理解不同的 IO 模型对于服务器领域的开发者非常重要。本文将从 Unix/Linux 接口出发,介绍几种常用的 IO 模型,并分析它们的优缺点。 阻塞...

    Linux IO模型.emmx

    详细描述了linux io模型(NIO、BIO、select、poll、epoll)的特点以及应用场景

    Linux io第二天教案

    Linux IO第二天教案涉及的IT知识点包括了Linux操作系统中关于I/O(输入/输出)操作的深入内容,以及函数库的制作和使用,特别是静态库和动态库的概念、生成及使用方法。除此之外,还包括了目录文件操作的详细解析,...

Global site tag (gtag.js) - Google Analytics