Linux下的IO检测工具最常用的是iostat,不过iostat只能查看到总的IO情况。如果要细看具体那一个程序点用的IO较高,可以使用iotop 。不过iotop对内核版本和Python版本有要求,虽然目前主流的CentOS和Ubuntu版本上都适用。不过考虑到其无法适用的场景,推荐个可以查看程序IO使用情况的工具iopp作为替代方案。

安装iopp

安装编译工具

$ yum install cmake

编译安装iopp

$ git clone https://github.com/markwkm/iopp.git

$ cd iopp

$ cmake CMakeLists.txt

$ make && make install

如需指定安装位置,可按如下方法

# 指定安装的目标路径到/usr/bin下

$ make install DESTDIR=/usr

注:默认安装目录位置为/bin/iopp

使用iopp

iopp语法

$ iopp --help

usage: iopp -h|--help

usage: iopp [-ci] [-k|-m] [delay [count]]

-c, --command display full command line #显示完整命令行

-h, --help display help #显示帮助信息

-i, --idle hides idle processes #隐藏空闲进程

-k, --kilobytes display data in kilobytes #以KB为单位显示数据

-m, --megabytes display data in megabytes #以MB为单位显示数据

-u, --human-readable display data in kilo-, mega-, or giga-bytes #以方便读的方式显示数据

列出进程并隐藏I/O空闲的进程

$ iopp -i -k -c 1

pid rchar wchar syscr syscw rkb wkb cwkb command

pid rchar wchar syscr syscw rkb wkb cwkb command

9311 31 0 0 0 0 0 0 iopp

pid rchar wchar syscr syscw rkb wkb cwkb command

9311 31 0 0 0 0 0 0 iopp

pid rchar wchar syscr syscw rkb wkb cwkb command

9311 31 0 0 0 0 0 0 iopp

pid rchar wchar syscr syscw rkb wkb cwkb command

9311 31 0 0 0 0 0 0 iopp

pid rchar wchar syscr syscw rkb wkb cwkb command

9311 31 0 0 0 0 0 0 iopp

pid rchar wchar syscr syscw rkb wkb cwkb command

9311 31 0 0 0 0 0 0 iopp

pid rchar wchar syscr syscw rkb wkb cwkb command

395 0 0 0 0 0 4 0 jbd2/dm-0-8

1229 0 1 0 0 0 8 0 auditd

1251 0 0 0 0 0 4 0 /sbin/rsyslogd

1498 110 0 0 0 0 4 0 crond

9311 31 0 0 0 0 0 0 iopp

iopp输出的结果解释如下

pid 进程ID

rchar 将要从磁盘读取的字节数

wchar 已经写入或应该要写入磁盘的字节数

syscr 读I/O次数

syscw 写I/O次数

rbytes 真正从磁盘读取的字节数

wbytes 真正写入到磁盘的字节数

cwbytes 因为清空页面缓存而导致没有发生操作的字节数

command 执行的命令

linux系统io查看计算,Linux下查看进程IO工具iopp相关推荐

  1. 如何查看linux系统的存储空间大小,linux 如何查看硬盘大小,存储空间大小等系统信息及硬件信息...

    一.linux CPU大小 [root@idc ~]# cat /proc/cpuinfo |grep "model name" && cat /proc/cpui ...

  2. 你的java程序有没有内存泄露,java进程在linux系统中rss计算方式是什么样的?

    java进程在linux系统中rss计算方式如下: RSS = Heap size + MetaSpace + OffHeap size 其中OffHeap由线程堆栈,直接缓冲区,映射文件(库和jar ...

  3. linux系统charp命令,操作系统 Linux系统

    Linux操作系统 预备知识(Operating System): 1.GNU项目,GNU项目是一个自由软件项目,旨在建立一个完全自由开放通用的UNIX软件平台. 2.操作系统:管理计算机硬件和软件资 ...

  4. Linux系统磁状态检测,检测Linux硬件状态

    计算机系统是由软件系统和硬件系统共同组成的.检测硬件状态对于保障整个系统的稳定是非常重要的.不论操作系统是使用Linux.还是Windows,一旦硬件出现故障,那么整个系统的安全就严重了.这里我们主要 ...

  5. git 的安装以及使用:是一个开源的分布式版本控制系统,可以对项目进行版本管理。 早期是linux之父用来管理linux系统源代码的(linux是和windows一样操作系统 开源免费的操作...

    ## 总结 - 学会使用基本的git命令 管理源代码 - 学会去github创建仓库 并将代码上传到github的仓库 (有待完成 回家有网再push) - 了解本地的.git和服务器github的. ...

  6. 如何制作linux系统硬盘,手把手带你自制Linux系统之二 简易Linux的制作

    手把手带你自制Linux系统之二 简易Linux的制作 本文利用CentOS5.5自带内核制作一个可以正常启动的Mini Linux. 打开上一篇准备工作中创建的CentOS虚拟机,为另一台虚拟机Mi ...

  7. linux终端和执行进程的关系,Linux系统编程第04期:打通进程与终端的任督二脉

    本课程是<嵌入式工程师自我修养>自学教程六步走中的第3步:Linux系统编程第04期. 进程,是Linux系统中任务调度运行的基本单元:一个程序的运行,都要被操作系统包装成"进程 ...

  8. 嵌入式学习之linux系统编程----1 了解linux编程并且在ubuntu以及ARM上运行测试程序

    1.何为linux系统编程? linux系统编程也称为linux下的高级编程,它介于应用层与驱动层之间. 一般来说分为三个层面,分别是:应用层(写一个qt程序或者c程序就属于是应用层面).驱动层(比如 ...

  9. linux设置sfq队列参数,Linux系统运维之Linux高级流量控制工具TC使用方法

    Linux系统运维之Linux高级流量控制工具TC使用方法 本文标签: 运维 流量劫持 Linux系统运维之Linux高级流量控制工具TC使用方法, 在做MHA测试的时候,有一个重要的环节就是测试MH ...

  10. linux进程看门狗使用方式,Linux系统中基于看门狗的精细化进程监控方法及系统的制作方法...

    Linux系统中基于看门狗的精细化进程监控方法及系统的制作方法 [技术领域] [0001] 本发明涉及Linux系统的进程监控技术领域,特别是涉及一种Linux系统中基于看 门狗的精细化进程监控方法及 ...

最新文章

  1. 12306抢票脚本 python_如何使用Python实现12306抢票?摆脱无票可买的窘境
  2. Linux系统默默改变了人类世界的生活方式
  3. [css] inline、block、inline-block这三个属性值有什么区别?
  4. dataframe修改数据_数据处理进阶pandas入门(一)
  5. java大整数_java处理大整数
  6. Leetcode之最长回文子串
  7. android 人脸识别边框_Android实现简单的人脸识别
  8. eclipse svn切换账号
  9. 遥感影像公开数据集:deepglobe-road-dataset
  10. php直接拨号代码,c#自动ADSL拨号代码
  11. IE主页被篡改的修复方法
  12. 顺丰快递单号查询API开发指南-快递鸟
  13. python学多久可以接单-详解 | Python学多久才能独立接单赚钱?一个月足够了!
  14. e5 2680v3和e5 2682v4有什么区别
  15. 实数傅立叶变换和复数傅立叶变换
  16. LINUX学习基础篇(六)帮助命令
  17. 能上QQ,不能上网的解决方法
  18. 人机交互及界面设计序言
  19. Sql Server 中 GAM、SGAM、PAM、IAM、DCM 和 BCM 的详解与区别
  20. java研发工程师、数据库开发

热门文章

  1. 多重继承java_Java中的多重继承与组合vs继承
  2. Java命令行界面(第5部分):JewelCli
  3. 5个常见的Hibernate异常及其解决方法
  4. Java 8中HotSpot选项的改进文档
  5. mvvm 耗时加载进度条_ZK的实际应用:MVVM –加载和渲染数据
  6. 编写下载服务器。 第二部分:标头:Last-Modified,ETag和If-None-Match
  7. 开发人员需要了解的有关xPaaS的一切
  8. Elasticsearch用例:全文搜索
  9. 摆脱困境:从计划作业中调用安全方法
  10. 两个用于Eclipse的TCK –开源到底有什么?