当看到I/O等待时间所占CPU时间的比重非常高的时候,首先要检查的就是机器是否正在大量使用交换空间,由于硬盘操作的速度远远低于RAM。所以当系统内存耗尽,開始使用交换空间的时候。系统的性能会受到严重影响。

不论什么想要訪问硬盘的操作都要完毕与硬盘的I/O交换。所以,故障排除的第一步是看内存是否耗尽,假设是。先解决问题。假设还有大量可用的RAM,你须要明白那个进程占用了大部分I/O操作。

在你非常难弄明确究竟是哪个进程占用了大量I/O资源。使用iostat能够找到是哪个分区运行大量I/O操作。

iostat的使用

最上面显示的是1个cpu,64位系统,linux内核版本号

avg-cpu段:

%user: 在用户级别执行所使用的CPU的百分比

%nice: nice操作所使用的CPU的百分比

%system: 在系统级别(kernel)执行所使用CPU的百分比

%iowait: CPU等待硬件I/O时,所占用CPU百分比

%idle: CPU空暇时间的百分比

Device段:

sda:设备名

tps: 每秒钟发送到的I/O请求数.

Blk_read /s: 每秒读取的数据量

Blk_wrtn/s: 每秒写入的数据量.

Blk_read:   读入的总的数据量

Blk_wrtn:  写入的总的数据量

iostat各个參数说明:





-c 仅显示CPU统计信息.与-d选项相互排斥.

 -d 仅显示磁盘统计信息.与-c选项相互排斥.

 -k 以K为单位显示每秒的磁盘请求数,默认单位块.

 -p device | ALL

  与-x选项相互排斥,用于显示块设备及系统分区的统计信息.也能够在-p后指定一个设备名,如:

  # iostat -p hda

  或显示全部设备

  # iostat -p ALL

 -t    在输出数据时,打印搜集数据的时间.

 -V    打印版本和帮助信息.

 -x    输出扩展信息.

iostat后加一个数字

iostat 4 表示每隔4秒就刷新一次

iotop的使用

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGFwZW5nMDExMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

--version 显示版本然后退出

       -h, --help 显示帮助然后退出

       -o, --only 仅仅显示正在产生I/O的进程或线程。除了传參。能够在执行过程中按o生效。

       -b, --batch 非交互模式。一般用来记录日志

       -n NUM, --iter=NUM 设置监測的次数,默认无限。在非交互模式下非常实用

       -d SEC, --delay=SEC 设置每次监測的间隔。默认1秒。接受非整形数据比如1.1

       -p PID, --pid=PID 指定监測的进程/线程

       -u USER, --user=USER 指定监測某个用户产生的I/O

       -P, --processes 仅显示进程,默认iotop显示全部线程

       -a, --accumulated 显示累积的I/O。而不是带宽

       -k, --kilobytes 使用kB单位。而不是对人友好的单位。

在非交互模式下,脚本编程实用。

-t, --time 加上时间戳。非交互非模式。

-q, --quiet 禁止头几行,非交互模式。有三种指定方式。

-q     仅仅在第一次监測时显示列名

              -qq    永远不显示列名。

              -qqq   永远不显示I/O汇总。

查看系统的I/O使用iostat命令而使用iotop能够依据I/O统计信息排序,追踪到详细的进程的更多相关文章

  1. Linux 系统管理命令 - iotop - 动态显示磁盘 I/O 统计信息

    命令详解 重要星级: ★★★★☆ 功能说明: iotop 命令是一款实时监控磁盘 I/O 的工具, 但必须以 root 用户的身份运行.使用 iotop 命令可以很方便的查看每个进程使用磁盘 I/O ...

  2. Linux查看系统状态命令

    Linux查看系统状态命令       iostat iostat 命令详细地显示了存储子系统方面的情况.你通常用iostat来监控存储子系统总体上运行状况如何,并且在用户注意到服务器运行缓慢之前提早 ...

  3. linux系统top命令查看系统状态

    Linux系统可以通过top命令查看系统的CPU.内存.运行时间.交换分区.执行的线程等信息.通过top命令可以有效的发现系统的缺陷出在哪里.是内存不够.CPU处理能力不够.IO读写过高. 使用SSH ...

  4. linux怎样使用top命令查看系统状态

    有时候有很多问题只有在线上或者预发环境才能发现,而线上又不能Debug,所以线上问题定位就只能看日志,系统状态和Dump线程. Linux系统可以通过top命令查看系统的CPU.内存.运行时间.交换分 ...

  5. 使用top命令查看系统状态

    Linux系统可以通过top命令查看系统的CPU.内存.运行时间.交换分区.执行的线程等信息.通过top命令可以有效的发现系统的缺陷出在哪里.是内存不够.CPU处理能力不够.IO读写过高? 使用SSH ...

  6. Linux--top命令查看系统状态,所有值讲解

    Linux系统可以通过top命令查看系统的CPU.内存.运行时间.交换分区.执行的线程等信息.通过top命令可以有效的发现系统的缺陷出在哪里.是内存不够.CPU处理能力不够.IO读写过高. 一.top ...

  7. linu查看系统用户与显示命令行提示符格式信息

    目录 一:查看系统用户whoami 二:显示命令行提示符格式信息变量 一:查看系统用户whoami whoami : 当前窗口登录的用户 who : 当前用户登录系统的终端 作用: 显示当前用户登录了 ...

  8. iostat命令学习

    iostat命令主要用于监控linux系统下cup和磁盘IO的统计信息 可以通过iostat --help获得该命令的帮助信息 [oracle@std ~]$ iostat --help Usage: ...

  9. linux 查看系统状态方法

    Linux下如何查看系统启动时间和运行时间 1.uptime命令输出:16:11:40 up 59 days, 4:21, 2 users, load average: 0.00, 0.01, 0.0 ...

随机推荐

  1. CF 558C(Amr and Chemistry-构造法)

    C. Amr and Chemistry time limit per test 1 second memory limit per test 256 megabytes input standard ...

  2. UVA 11609 - Anne's game cayley定理

    Lily: “Chantarelle was part of my exotic phase.”Buffy: “It’s nice. It’s a mushroom.”Lily: “It is? Tha ...

  3. Java-MyBatis:MyBatis 3 | SQL 语句构建器类

    ylbtech-Java-MyBatis:MyBatis 3 | SQL 语句构建器类 1.返回顶部 1. SQL语句构建器类 问题 Java程序员面对的最痛苦的事情之一就是在Java代码中嵌入SQL ...

  4. ubuntu下无法将iNode绑定到侧边栏的解决办法

    title: ubuntu下无法将iNode绑定到侧边栏的解决办法 toc: false date: 2018-09-01 17:43:52 categories: methods tags: ubu ...

  5. 关于懒加载中的self.和_

    ---恢复内容开始--- 在开发中,经常会用到懒加载,最常用的如加载一个数组 如图,在这个懒加载数组中有的地方用到了_array有的地方用到了self.array 原因是_array是直接访问,而se ...

  6. webform 下使用autofac

    官网介绍: http://docs.autofac.org/en/latest/integration/webforms.html#quick-start HTTP 错误 500.22 - Inter ...

  7. infludb语法--官网

    https://docs.influxdata.com/influxdb/v0.8/api/query_language/ InfluxDB features a SQL like query lan ...

  8. windows服务更改配置文件

    现场部署的服务所在文件夹内容如上图所示,由于现场数据库服务器更改了IP,所以我服务里的数据库连接字符串也需要修改(注意到日志文件,从某天改了IP后就再也连不上数据库了) 修改过程: 1.打开服务管理, ...

  9. layui表格的新增和编辑功能前端代码

    html页面的代码(注意:引入layui相关的css): <div class="layui-form-item"> <label class="lay ...

  10. PostgreSQL练习网站

    PostgreSQL练习 http://pgexercises.com/index.html