Linux下的io性能监控软件–I/O使用信息
一、简介
一款Linux下的io性能监控软件,用于统计CPU使用情况和块设备I/O情况linux vi 命令linux伊甸园,统计时间为下次执行到目前。iostat可以给我们提供丰富的IO状态数据
没有这个命令的话,先安装
sudo apt install sysstat
二、命令参数
iostat [选项] [] [] -c: 显示CPU使用情况 -d: 显示磁盘使用情况 -N: 显示磁盘阵列(LVM) 信息 -n: 显示NFS 使用情况 -k: 以 KB 为单位显示 -m: 以 M 为单位显示 -t: 报告每秒向终端读取和写入的字符数和CPU的信息 -V: 显示版本信息 -x: 显示详细信息 -p:[磁盘] 显示磁盘和分区的情况
三、信息指标解读
常用命令:
iostat -x 1 #或者 iostat -x 1 10
显示详尽信息,每一秒采集一次。10采集10次
系统信息:
CPU使用统计信息:用户进程使用率、系统使用率、空闲率等;且以下指标加上去和为1
块设备I/O统计信息:每秒读写的数据量、总读写数据量等。
读指标:
写指标:
抛弃指标:
其它指标:
同时可以结合vmstat查看查看b参数(等待资源的进程数)和wa参数(I/O等待所占用的CPU时间的比率,高过30%时I/O压力高)
其它版本可能出现的指标:(系统版本不同linux查看操作系统版本命令,可能出现以下相关参数)
四、iotop监控c盘I/O相关进程
iotop是一个类似top的工具linux查看操作系统版本命令,拿来显示实时的c盘活动。
iotop监控Linux内核输出的I/O使用信息,但是显示一个系统中进程或线程的当前I/O使用情况。
没有的话先安装
sudo apt install iotop
命令参数使用
-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汇总。 #交互按键,和top命令类似,iotop也支持以下几个交互按键。 left和right方向键:改变排序。 r:反向排序。 o:切换至选项--only。 p:切换至--processes选项。 a:切换至--accumulated选项。 q:退出。 i:改变线程的优先级。
命令反例:
iotop -d 2 -n 5 #时间刷新间隔2秒,输出5次 iotop -botq -p 713848 #非交互式,输出pid为713848的进程信息,这里示例713848为nginx进程