> iostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。
**安装:**`yum -y install sysstat`
**命令格式:**`iostat [option] [参数]`
> option:
> \-c:仅显示CPU使用情况;
> \-d:仅显示设备利用率;
> \-k:显示状态以千字节每秒为单位,而不使用块每秒;
> \-m:显示状态以兆字节每秒为单位;
> \-p:仅显示块设备和所有被使用的其他分区的状态;
> \-t:显示每个报告产生时的时间;
> \-V:显示版号并退出;
> \-x:显示扩展状态。
> 参数:
> 间隔时间:每次报告的间隔时间(秒);
> 次数:显示报告的次数
~~~
[root@localhost ~]# iostat -x -k -d 1
Linux 3.10.0-229.el7.x86_64 (dmoc-fefcfef32b77) 05/15/2021 _x86_64_ (4 CPU)
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 0.00 1.21 1.57 45.81 38.43 207.71 10.39 0.26 5.44 3.19 5.51 0.28 1.35
vdb 0.00 0.55 0.67 45.64 3.27 212.95 9.34 0.10 2.24 2.12 2.25 0.43 1.97
dm-0 0.00 0.00 0.67 46.19 3.27 212.95 9.23 0.11 2.34 2.12 2.34 0.42 1.97
dm-1 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 0.12 0.12 0.00 0.01 0.00
[root@localhost ~]# iostat
Linux 3.10.0-229.el7.x86_64 (dmoc-fefcfef32b77) 05/15/2021 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
46.94 0.00 11.49 0.41 0.17 40.99
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 47.38 38.43 207.70 9275545 50135953
vdb 46.31 3.27 212.93 788493 51398260
dm-0 46.86 3.26 212.93 788069 51398260
dm-1 0.00 0.00 0.00 520 0
# 指定磁盘,每个1秒输出报告,总共输出两次
[root@localhost ~]# iostat -x dm-0 dm-1 1 2
Linux 3.10.0-229.el7.x86_64 (dmoc-fefcfef32b77) 05/20/2021 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
76.16 0.00 10.09 0.52 0.04 13.19
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
dm-0 0.00 0.00 21.74 398.74 140.26 4194.74 20.62 2.03 4.84 1.60 5.01 0.13 5.57
dm-1 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 0.00 0.00 0.00 0.00 0.00
~~~
**iostat各字段含义**
* tps:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device.)。"一次传输"意思是"一次I/O请求"。多个逻辑请求可能会被合并为"一次I/O请求"。"一次传输"请求的大小是未知的。
* kB\_read/s:每秒从设备(drive expressed)读取的数据量;
* kB\_wrtn/s:每秒向设备(drive expressed)写入的数据量;
* kB\_read:读取的总数据量;
* kB\_wrtn:写入的总数量数据量;这些单位都为Kilobytes。
**iostat -x 各字段含义**
* rrqm/s:每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge);
* wrqm/s:每秒这个设备相关的写入请求有多少被Merge了。
* rsec/s:每秒读取的扇区数;
* wsec/:每秒写入的扇区数。
* rKB/s:每秒向设备发出的读取请求数
* wKB/s:每秒向设备发出的写入请求数
* avgrq-sz :平均请求扇区的大小
* avgqu-sz :平均请求队列的长度,队列长度越短越好
* await: 每一个IO请求的处理的平均时间(单位是微秒毫秒),即IO的响应时间,这个时间包括了队列时间和服务时间,也就是说,一般情况下,await大于svctm,它们的差值越小,则说明队列时间越短,反之差值越大,队列时间越长,说明系统出了问题
* svctm :表示平均每次设备I/O操作的服务时间(以毫秒为单位)。如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,如果await的值远高于svctm的值,则表示I/O队列等待太长, 系统上运行的应用程序将变慢
* %util: 在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)
- 第一章 PHP基础
- PHP介绍
- 如何理解PHP是弱类型语言
- 超全局变量
- 字符串处理函数
- 常用数组函数
- 文件处理函数
- 常用时间函数
- 日历函数
- 常用url处理函数
- 易混淆函数区别(面试题常见)
- 时间戳
- 第二章 PHP进阶
- PSR规范
- RESTFUL规范
- 面向对象
- 三大基本特征和五大基本原则
- 访问权限
- static关键字
- static
- 静态变量与普通变量
- 静态方法与普通方法
- const关键字
- final关键字
- abstract关键字
- self、$this、parent::关键字
- 接口(interface)
- trait关键字
- instanceof关键字
- 魔术方法
- 构造函数和析构函数
- 私有属性的设置获取
- __toString()方法
- __clone()方法
- __call()方法
- 类的自动加载
- 设计模式详解
- 关于设计模式的一些建议
- 工厂模式
- 简单工厂模式
- 工厂方法模式
- 抽象工厂模式
- 区别和适用范围
- 策略模式
- 单例模式
- HTTP
- 定义
- 特点
- 工作过程
- request
- response
- HTTP状态码
- URL
- GET和POST的区别
- HTTPS
- session与cookie
- 排序算法
- 冒泡排序算法
- 二分查找算法
- 直接插入排序算法
- 希尔排序算法
- 选择排序算法
- 快速排序算法
- 日期相关的类
- DateTimeInterface接口
- DateTime类
- DateTimeImmutable类
- DateInterval类
- DateTimeZone类
- DatePeriod类
- format参数格式
- DateInterval的format格式化参数
- 第三章 PHP框架
- ThinkPHP框架
- tp3.2
- tp5.0
- CodeIgniter框架
- CodeIgniter 3
- CodeIgniter 4
- 第四章 数据库
- MYSQL
- 事务(重点)
- 索引
- 存储过程
- 触发器
- 视图
- 导入导出数据库
- 优化mysql数据库的方法
- MyISAM与InnoDB区别
- 外连接、内连接的区别
- 物理文件结构
- 第五章 LNMP
- LNMP环境搭建
- 搭建方法
- 配置文件目录
- 服务器管理系统
- 宝塔(Linux)
- 一键安装包LNMP1.5
- LNMP1.5:添加、删除站点
- LNMP1.5:php多版本切换
- LNMP1.5 部署 thinkphp项目
- Operation not permitted解决方法
- Nginx
- Nginx的产生
- 正向代理和反向代理
- 负载均衡
- Linux常用命令
- 目录与文件相关命令
- 目录操作命令
- 文件编辑命令
- 文件查看命令
- 文件查找命令
- 文件权限命令
- 文件上传下载命令
- 用户和群组相关命令
- 用户与用户组的关系
- 用户相关的系统配置文件
- 用户相关命令
- 用户组相关命令
- 压缩与解压相关命令
- .zip格式
- .tar.gz格式
- .gz格式
- 查看系统版本
- cpuinfo详解
- meminfo详解
- getconf获取系统信息
- 磁盘空间相关命令
- 查看系统负载情况
- 系统环境变量
- 网络相关命令
- ip命令详解
- ip命令格式详解
- ip address命令详解
- ip link命令详解
- ip rule命令详解
- ip route命令详解
- nslookup命令详解
- traceroute命令详解
- netstat命令详解
- route命令详解
- tcpdump命令详解
- 系统进程相关命令
- ps命令详解
- pstree命令详解
- kill命令详解
- 守护进程-supervisord
- 性能监控相关命令
- top命令详解
- iostat命令详解
- pidstat命令详解
- iotop命令详解
- iftop命令详解
- 定时任务相关命令
- ssh登录远程主机
- ssh口令登录
- ssh公钥登录
- ssh带密码登录
- ssh端口映射
- ssh配置文件
- ssh安全设置
- 历史纪录
- history命令详解
- linux开启操作日志记录
- 第六章 拓展
- 大流量解决方案
- git
- git与svn的区别
- git原理
- git初始化本地仓库-https
- git初始化仓库-ssh
- composer安装与使用
- 消息队列
- PHP-CURL
- phpExcel的安装与使用
- 第七章 缓存
- redis
- redis的数据类型和应用场景
- redis持久化
- RDB持久化
- AOF持久化
- 第八章 常见网络攻击类型
- CSRF攻击
- XSS攻击
- SQL注入
- Cookie攻击
- 第九章 项目经验
- 图片上传项目实例
- 原生php上传方法实例
- base64图片流
- tp5的上传方法封装实例
- 多级关系的递归查询
- 数组转树结构
- hinkphp5.1+ajax实现导出Excel
- JS 删除数组的某一项
- 判断是否为索引数组
- ip操作
