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

iopp目前有两个版本的,一个是C语言的,一个是C++的。两个版本各有所长,本文将分别介绍两个版本iopp的安装和使用。

iopp C语言版本

iopp是一个基于C语言开发的工具,它的作者是Mark Wong,代码仅有532行,非常简洁。

安装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 执行的命令

iopp C++语言版本

iopp的实现原理非常简单,无非是遍历/proc/pid/io文件,读取出结果后,再通过进一步计算得出。大部分时候,我们只关注参数rbytes和wbytes两部分,基于此需求就产生了一个基于c++优化的iopp。

安装iopp

安装编译工具$ yum install make

编译安装iopp$ git clone https://github.com/hackerforward/iopp

$ cd iopp

$ make

编译完成后,在当前目录生成一个iopp二进制文件$ ls

curControl.h  iopp  iopp.cc  makefile  README.md

使用iopp

C++版iopp使用起来简单粗暴,直接运行就可以了,如下

输出结果是时时刷新的。

Linux查看c语言组件进程,Linux下查看进程IO工具iopp相关推荐

  1. Linux下查看进程IO工具iopp

    Linux下的IO检测工具最常用的是iostat,不过iostat只能查看到总的IO情况.如果要细看具体那一个程序点用的IO较高,可以使用iotop .不过iotop对内核版本和Python版本有要求 ...

  2. linux系统io查看计算,Linux下查看进程IO工具iopp

    Linux下的IO检测工具最常用的是iostat,不过iostat只能查看到总的IO情况.如果要细看具体那一个程序点用的IO较高,可以使用iotop .不过iotop对内核版本和Python版本有要求 ...

  3. 查看linux进程的设备io,Linux下查看进程IO工具iopp

    Linux下的IO检测工具最常用的是iostat,不过iostat只能查看到总的IO情况.如果要细看具体那一个程序点用的IO较高,可以使用iotop .不过iotop对内核版本和Python版本有要求 ...

  4. linux怎么查看mysql安装在哪里_Linux下查看MySQL的安装路径

    Linux下查看mysql.apache是否安装,并卸载. 指令ps -ef|grep mysql得出结果 root 17659 1 0 2011 ? 00:00:00 /bin/sh /usr/bi ...

  5. linux环境c语言课程设计,linux环境下c语言编程课程设计

    linux环境下c语言编程课程设计 (14页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 1/14LINUX操作系统教程课程设计题目算术 ...

  6. linux 释放进程res_linux下查询进程占用的内存方法总结

    linux下查询进程占用的内存方法总结 假设现在有一个「php-cgi」的进程 ,进程id为「25282」.现在想要查询该进程占用的内存大小.linux命令行 下有很多的工具进行查看,现总结常见的几种 ...

  7. Linux学习日记(七)——Ubuntu下的进程管理

                                                     Ubuntu下的进程管理 who命令查看当前在线用户的情况 在linux系统下,通常情况下可能会有tt ...

  8. mac下查看mysql端口被占用_MAC下查看端口占用并杀死进程

    Eclipse在Run on Server时,Tomcat是开启的,但是报错,显示8080.8005和8009端口被占用 终端输入 查看所有开启的端口 sudo lsof -i -P | grep - ...

  9. 虚拟机Linux怎么更改语言,虚拟机的linux语言肿么修改

    使用中文安装了CentOS后提示出现乱码,据此判断为CentOS默认语言非中文所致.==================================linux修改默认语言 编辑/etc/sysco ...

最新文章

  1. Android开源项目:GifView——Android显示GIF动画
  2. cmake卸载 ubuntu_ubuntu卸载/更新Cmake
  3. Linux 系统应用编程——网络编程(常用命令解析)
  4. cmd 命令操纵文件管理器、创建(删除)多级文件夹
  5. getopt与getopt_long
  6. 开源办公套件LibreOffice
  7. 软考 java程序设计,软考程序员考点Java语言程序设计之数组
  8. CPU卡密钥管理系统
  9. 常用中文字体 Unicode 编码
  10. 买北京息壤空间 大家注意了别上当
  11. 【Java项目整理】-> CsFramework -> 从零开始手动搭建一个C/S模式中间件
  12. Linux使用cp命令报cp:omitting directory错误
  13. 21.通用型1602液晶显示屏操作方法
  14. Vue elementUI中的Breadcrumb面包屑
  15. python unicode转换
  16. BUAA 数据结构总结——第7节(图)
  17. ERROR dispatch for GET /error?thingName=lxyrequestId=123, parameters={masked}
  18. oracle官网免登录下载jdk8
  19. 快速排序Rapidly Sort
  20. 循环序列模型总结之LSTM

热门文章

  1. python 小说 云_Python给小说做词云
  2. 自己动手写CPU(1)五级流水线及CPU第一条指令ori
  3. 基于VHDL自动售邮票机设计
  4. 计算机文化基础课程总结,计算机文化基础课程总结.docx
  5. php 图像编程库,PHP图像处理开发库
  6. 在线编写php文件,php单文件版在线代码编辑器_php实例
  7. python做什么项目好_推荐两个牛逼的Python项目
  8. 需求获取安排计划书_6分钟教你写一份融资计划书
  9. upload-labs_less3_less4_等价扩展名绕过_.htaccess文件改变文件扩展名
  10. HH的项链 HYSBZ - 1878 (莫队/ 树状数组)