iotop命令

 

iotop命令是一个用来监视磁盘I/O使用状况的top类工具,iotop具有与top相似的UI,其中包括pid、user、I/O、进程等相关信息等;

//iotop安装:
yum -y install iotop
//或者编译安装
wget http://guichaz.free.fr/iotop/files/iotop-0.6.tar.gz
tar zxf iotop-0.4.4.tar.g
python setup.py build
python setup.py install

  

  

执行iotop显示:

Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s
TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND 1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % init2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]3 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/0]4 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]第一行READ和WRITE速率总计;
第二行:tid:线程id,按p可转换进程pidPRIO:优先级DISK READ:磁盘读取速率DISK WRITE:磁盘写取速率SWAPIN:swap交换百分比IO>:IO等待所占用百分比COMMAND:线程/进程详细信息

  

命令格式:

iotop  -[选项]
  --version://显示程序的版本号并退出
  -h, --help://显示此帮助消息并退出
  -o, --only://仅显示实际执行I / O的进程或线程,只显示在划硬盘的程序
  -b, --batch://非交互模式,批量处理 用来记录日志的
  -n NUM, --iter=NUM://设定循环几次
  -d SEC, --delay=SEC://设定显示时间间隔[秒]
  -p PID, --pid=PID://要监控的进程/线程[全部]
  -u USER, --user=USER://用户监控[全部]
  -P, --processes://只显示进程,而不是所有线程
  -a, --accumulated://显示累积的I / O而不是带宽
  -k, --kilobytes://使用千字节而不是人性化的单位
  -t, --time://在每一行上添加一个时间戳(暗示--batch)
  -q, --quiet://抑制一些标题行(暗示--batch)

怎么获取该程序正在读的什么文件;

这个问题其实很简单,通过 lsof 命令我们就可以达到目的:lsof -c APPname

同样,如果我们知道了被频繁读取的文件是哪个,也可以反查程序:

iotop查看用户进程,lsof -p pid在按该用户进程 pid 查看所打开的文件,lsof -u username按用户名查看打开的文件,

列出某用户的某进程打开的文件lsof -u USERNAME -c APPNAME;

也是可以根据目录进行查询:lsof | grep path;

 

结论:

1.我们给服务器做压力测试时,有的时候很容易碰到磁盘IO读取瓶颈,持续高的IO会导致磁盘读取密集读写磁盘IO成为短板,程序运行过慢;常见的IO服务器例如:数据库服务器,文件服务器,视频服务器等;

2.使用top命令查看%wa指标,该项阈值表示io waiting等待磁盘磁盘写入完成的时间,一般不能高于30%,假如该值过大且持续很久,就证明遇到了I/O瓶颈,需要对软件进行优化,或对硬件进行升级;

3.iostat -d -x 1输出磁盘相关统计信息;

4.iotop定位负载来源于那个进程/线程

5.可以使用pt-ioprofile工具定位IO文件信息;(是Percona公司开发用于管理MySQL的工具)

 或者使用下列命令进行IO文件定位:

1.lsof -c oracle  //

2.lsof | grep path  /oracle/app/oracle.........................

3.iotop   //查看用户进程

4.lsof -p pid  //查看该用户下打开的文件

5.lsof -u oracle   -c oracle   

lsof命令输出属性字段说明:
COMMAND:进程的名称
PID:进程标识符
USER:进程所有者 
FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等 
TYPE:文件类型,如DIR、REG等 
DEVICE:指定磁盘的名称 
SIZE:文件的大小
NODE:索引节点(文件在磁盘上的标识) 
NAME:打开文件的确切名称 

  

补充:如何进行 io 瓶颈测试?

如何进行大文件IO测试:1.生成 5g 大小的文件并输出时间,执行速度等信息
time dd if=/dev/zero of=test.file bs=1G count=5
2.测试写入20G数据,数据量越大,测试值应该更精确
sync;/usr/bin/time -p bash -c "(dd if=/dev/zero of=test.dd  bs=1M count=20000)" 
sync;/usr/bin/time -p bash -c "(dd if=/dev/zero of=test.dd  bs=1000K count=20000;sync)"
dd bs=1M count=20000 if=/dev/zero of=test.dd conv=fdatasync dd命令测试是IO的顺序写和读方

  

 

另附查看进程工具iopp:http://haibing.org/?p=235

 

转载于:https://www.cnblogs.com/Alexr/p/9361586.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/413683.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[css] 行内元素可以设置padding和margin吗?

[css] 行内元素可以设置padding和margin吗? 行内元素的纵向padding和margin都是不考虑的,这是css规范定义的。 inline元素确实可以设置垂直方向的 padding 和 margin 值,但是 inline 元素的 margin 和 padding 的垂直方向上不产生边距效果&a…

第10章-定位、层级关系

一.定位 1.static 默认属性。块级元素→矩形框,行级元素→行框 2.fixed 类似于absolute,但包含块是视窗本身 3.relative 原本所占的空间仍保留 4.absolute 生成一个块级框,变成块级元素。float也是 二.层级关系 z-index

ccf_201712-2

题目 问题描述有n个小朋友围成一圈玩游戏,小朋友从1至n编号,2号小朋友坐在1号小朋友的顺时针方向,3号小朋友坐在2号小朋友的顺时针方向,……,1号小朋友坐在n号小朋友的顺时针方向。游戏开始,从1号小朋友开始…

第9章-浮动

1.文档流 文档中可显示对象在排列时所占用的位置、空间 2.浮动的一般情况 3.浮动的特殊情况 4.浮动对文字的影响 5.float和inline-block的比较 6.清除浮动 &#xff08;1&#xff09;最后添加空标签 <div class"clear"><div> clear属性值:left r…

[css] translate3D有什么作用?

[css] translate3D有什么作用&#xff1f; 3d动画&#xff0c;启用GPU硬件加速个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

[css] 如何形成BFC?

[css] 如何形成BFC&#xff1f; 根元素 float的值不为none overflow的值不为visible display的值为inline-block、table-cell、table-caption position的值为absolute或fixed个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很…

第8章-常用优先级和css3

一.优先级 1.选择器优先级 * < 标签 < class < id 2.样式优先级 行内样式 <div style""></div> 内部样式 <style type"text/css"></style> 外部样式 <link type"text/css" rel"stylesheet…

pandas 基础用法

pandas 是一个基于 Numpy 构建, 强大的数据分析工具包 主要功能 独特的数据结构 DataFrame, Series集成时间序列功能提供丰富的数学运算操作灵活处理缺失数据Series 一维数组 Series 是一种类似于一维数组的对象, 由一组数据和一组与之相关的数据标签(索引)组成 创建方式 pd.Se…

[css] 为什么float会导致父元素塌陷

[css] 为什么float会导致父元素塌陷 “当元素设置浮动后&#xff0c;会自动脱离文档流”&#xff0c; 翻译成白话就是说&#xff0c;元素浮动后&#xff0c;就不在整个文档流的管辖范围&#xff0c;那么它之前存在在父元素内的高度就随着浮动不复存在了&#xff0c;而此时父元…

Object Tracking using OpenCV (C++/Python)(使用OpenCV进行目标跟踪)

本博客翻译搬运自https://www.learnopencv.com/object-tracking-using-opencv-cpp-python&#xff0c;用于初入目标跟踪的新手学习&#xff0c;转贴请注明&#xff01; 使用OpenCV进行目标跟踪&#xff08;C/Python&#xff09; 在本教程里&#xff0c;我们将学习OpenCV3.0中引…

第7章-选择器+伪类

一.选择器 1.基础选择器 通配符选择器 标签/元素选择器 类选择器 id选择器 2.高级选择器 E,F (多元素选择器) 同时匹配所有E元素或F元素&#xff0c;E和F之间用逗号分隔 eg&#xff1a; div,p{width:100px;height:50px;} E F(后代选择器) 匹配所有属于E元素后代的F元…

[css] 什么是逐帧动画?

[css] 什么是逐帧动画&#xff1f; &#xff08;1&#xff09;相关联的不同图像&#xff0c;即动画帧&#xff1b;&#xff08;2&#xff09;连续播放。个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论…

第5章-css选择器初级和背景

一、ID选择器与Class选择器的区别 区别 1&#xff1a;ID选择器只能在文档中使用一次,. class类选择器可以多次使用。 区别 2&#xff1a; id的权重大于class类的权重 二.background背景样式 1.background-color:规定要使用的背景颜色十六进制值 #CC0066 #000英文单词…

POJ 4979 海贼王之伟大航路 【状压dp】【北大ACM/ICPC竞赛训练】

该死的题让我想起来艾斯之死... 首先想到dp(i)代表从1到【i表示的这些岛屿】所花的最小时间&#xff0c;然后每次枚举最后一个岛屿以此缩小范围&#xff0c;但发现枚举了最后一个岛屿后没有办法转移&#xff0c;因为不知道倒数第二个岛屿是什么&#xff0c;随着倒数第二个岛屿的…

[css] 举例说明BFC会与float元素相互覆盖吗?为什么?

[css] 举例说明BFC会与float元素相互覆盖吗&#xff1f;为什么&#xff1f; BFC的区域不会与float的元素区域重叠 计算BFC的高度时&#xff0c;浮动子元素也参与计算 BFC就是页面上的一个隔离的独立容器&#xff0c;容器里面的子元素不会影响到外面元素&#xff0c;反之亦然个…

Sublime Text 3 、WebStorm配置实时刷新

本文所用软件版本Sublime Text 3(Build 3143)、WebStorm 2017.2.4(Build #WS-172.4155.35)、Google Chrome v61.0.3163.100&#xff0c;其他版本软件配置过程可能不一样&#xff0c;请知悉&#xff01; 一.Google Chrome安装LiveReload插件 1.下载插件 LiveReload 2.1.0 链…

#0 scrapy爬虫学习中遇到的坑记录

python 基础学习中对于scrapy的使用遇到了一些问题。 首先进行的是对Amazon.cn的检索结果页进行爬取&#xff0c;很顺利&#xff0c;无碍。 下一个目标是对baidu的搜索结果进行爬取 1&#xff0c;反爬虫 1.1 我先对ROBOTSTXT_OBEY进行设置&#xff0c;结果找到了scrapy的默认参…

[css] 使用css如何设置背景虚化?

[css] 使用css如何设置背景虚化&#xff1f; filter: blur(5px);个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

Sublime Text 3 、WebStorm配置护眼主题(浅绿色)

本文所用软件版本Sublime Text 3(Build 3143)、WebStorm 2017.2.4(Build #WS-172.4155.35)&#xff0c;其他版本软件配置过程可能不一样&#xff0c;请知悉&#xff01; 1.Sublime Text 3护眼主题 &#xff08;1&#xff09;下载配置文件 链接&#xff1a;http://pan.baidu.…

angular - 如何运行在起来 - 使用nginx

nginx下载地址&#xff0c;使用的是标准版的&#xff1a; 点击下载nginx nginx下载完后&#xff0c;解压 dist文件夹下面所有angular文件放入html文件夹中. 最后命令行cd到当前nginx.exe目录&#xff0c;启动命令&#xff1a;nginx 再配置一下conf文件夹下面的nginx.conf 再loc…