linux 查看I/O状态的常用命令

介绍下linux的3个常用I/O相关命令,解决I/O压力过大问题时很有用 iostat 查看磁盘的I/O状态 iotop 查看I/O进程排名 lsof 查看系统或进程打开的文件列表

(1)iostat

用于输出CPU和磁盘I/O相关的统计信息

输出信息

avg-cpu段

%user: 用户程序占用CPU的百分比

%nice: nice操作占用CPU的百分比

%sys: 系统占用CPU的百分比

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

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

Device段

tps: 每秒钟I/O请求数

Blk_read /s: 每秒读取的块数

Blk_wrtn/s: 每秒写入的块数

Blk_read: 读入的块总数

Blk_wrtn: 写入的块总数

常用参数

-c 仅显示CPU统计信息,与-d互斥

-d 仅显示磁盘统计信息,与-c互斥

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

-p 设备名 | ALL,只显示某个设备的信息,或者全部设备

-x 输出扩展信息

sec 间隔sec秒显示一次

(2)iotop 用来监视磁盘 I/O 使用状况的 top 类工具,具有与 top 相似的 UI,其中包括 PID、用户、I/O、进程等相关信息

通过输出结果,我们可以清楚地知晓是什么程序在读写磁盘,速度以及命令行,pid 等信息 iotop不是系统自带的命令,需要安装,例如centos下 yum install iotop 主要选项 -o 只显示有io操作的进程

-b 批量显示,无交互。主要用作记录到文件

-n NUM 显示NUM次,主要用于非交互式模式

-d SEC 间隔SEC秒显示一次

-p PID 监控的进程pid

-u USER 监控的进程用户

(3)lsof lsof(list open files)是一个列出当前系统打开文件的工具,lsof 需要访问核心内存和各种文件,所以必须以root身份执行才能充分发挥优势 不是系统自带的命令,需要安装,例如centos下 yum install lsof

输出信息 COMMAND:进程的名称

PID:进程标识符

USER:进程所有者

FD:文件描述符

TYPE:文件类型,如DIR、REG等

DEVICE:指定磁盘的名称

SIZE:文件的大小

NODE:索引节点

NAME:打开文件的确切名称 常用参数 lsof abc.txt 显示开启文件abc.txt的进程

lsof -c abc 显示abc进程现在打开的文件

lsof -p 1234 列出进程号为1234的进程所打开的文件

lsof -g gid 显示归属gid的进程情况

lsof +d /DIR/ 显示DIR目录下被进程打开的文件

原文发布于微信公众号 - 性能与架构(yogoup)

原文发表时间:2015-11-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏零基础使用Django2.0.1打造在线教育网站

零基础使用Django2.0.1打造在线教育网站(九):初识后台管理

努力与运动兼备~~~有任何问题可以加我好友或者关注微信公众号,欢迎交流,我们一起进步!

40430
来自专栏云计算教程系列

如何在Ubuntu 14.04上导入和导出MongoDB数据库

MongoDB是最受欢迎的NoSQL数据库引擎之一。它以可扩展,强大,可靠和易于使用而闻名。在本文中,我们将向您展示如何导入和导出MongoDB数据库。

51500
来自专栏Java学习网

提升效率的Linux终端快捷操作汇总

提升效率的Linux终端快捷操作汇总 很多普通 Linux 桌面用户都对使用终端感到排斥和恐惧,其实它没大家想的那么复杂,很多常见操作都可以直接在终端中进行,如...

34370
来自专栏Web项目聚集地

Linux养成计划(六)

导读: 通过前五篇教程,我们成功的在虚拟机上安装了Linux系统,并且学会了远程登陆与文件传输。还学习了系统的目录结构和Vim编辑器的使用等相关知识,这篇文章将...

11520
来自专栏Crossin的编程教室

如何在一台电脑上同时使用 Python 2 和 Python 3

Python 的版本是这几年被开发者诟病的一大槽点,也让众多新手头疼不已。逐渐退居二线的老版本 2 存在不少缺陷但应用广泛,而新版本 3 为了彻底解决历史遗留问...

30160
来自专栏HansBug's Lab

【vagrant】硬盘扩容

vagrant的好处自然不必说,只是有一天遇到了一个麻烦事——虚拟硬盘空间不!够!了!

16230
来自专栏前端小栈

利用Hexo+coding搭建博客,优化github博客打开速度

上次用hexo和github上搭建博客后,用了几天发现博客搭建在github上有一定的局限:

18920
来自专栏java学习

项目管理工具Maven1

Maven是apache下的开源项目,项目管理工具,管理java项目。

9210
来自专栏拭心的安卓进阶之路

npm 与 package.json 快速入门

npm 是前端开发广泛使用的包管理工具,之前使用 Weex 时看了阮一峰前辈的文章了解了一些,这次结合官方文章总结一下,加深下理解吧! 什么是 npm? ? 官...

53480
来自专栏互扯程序

程序猿必备调试工具postman

现在是资源共享的时代,同样也是知识分享的时代,如果你觉得本文能学到知识,请把知识与别人分享。

16120

扫码关注云+社区

领取腾讯云代金券