linux磁盘io linux查看硬盘状态
其实linux磁盘io的问题并不复杂,但是又很多的朋友都不太了解linux查看硬盘状态,因此呢,今天小编就来为大家分享linux磁盘io的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
如何查看linux服务器硬盘IO读写负载
打开终端
用top命令查看。输入:
top#查看swap
iostat-x110#查看%util%idle
#如果iostat没有要yuminstallsysstat
#如果%util接近100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。idle小于70%IO压力就较大了,一般读取速度有较多的wait.
#如果你想对硬盘做一个IO负荷的压力测试可以用如下命令
timeddif=/dev/zerobs=1Mcount=2048of=direct_2G
#此命令为在当前目录下新建一个2G的文件
欢迎追问
一文了解使用linux查看磁盘io使用情况
五种方法:top、vmstat、iostat、iotop、pt-ioprofile,用于在Linux中查看磁盘IO使用情况。
一、top命令
使用示例:top- 11:41:22 up 51 min, 2 users, load average: 0.01, 0.04, 0.01
分析:查看wa(等待输入输出的CPU时间百分比),当wa值超过30%时,表示IO压力较高。
详细解释:
Tasks:进程总数
Cpu(s): CPU使用情况,包括us、sy、ni、id、wa、hi、si、st等。
wa值越高,说明磁盘IO请求越频繁。
二、vmstat命令
命令:vmstat 2 5(每两秒执行一次,执行5次)
详细参数:
Procs: r(等待运行的进程数)、b(非中断睡眠状态的进程数)
Memory: swpd(虚拟内存使用情况)、free(空闲内存)、buff(缓存内存数)
Swap: si(从磁盘交换到内存的交换页数量)、so(从内存交换到磁盘的交换页数量)
IO: bi(发送到块设备的块数)、bo(从块设备接收的块数)
System: in(每秒中断数)、cs(每秒环境切换次数)
CPU: us(CPU使用时间)、sy(系统使用时间)、id(闲置时间)
三、iostat使用
安装命令:yum install sysstat
使用示例:iostat-d-k 2(以KB为单位显示读写信息)
四、iotop命令
安装命令:yum install iotop
查看高IO消耗的线程,并按o只显示有磁盘IO活动的进程。
五、pt-ioprofile命令
安装步骤:安装依赖包、下载rpm包并安装
使用方法:pt-ioprofile--profile-pid=1236--cell=sizes(通过IO吞吐量进行定位)
pt-ioprofile通过附加strace进程进行IO分析,对定位问题更有帮助。通过--cell=sizes参数以B/s方式展示结果,明确IO负载的主要来源及类型。
linux查看磁盘io的几种方法
怎样才能快速的定位到并发高是由于磁盘io开销大呢?可以通过三种方式:
第一种:用 top命令中的cpu信息观察
Top可以看到的cpu信息有:
Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% si
具体的解释如下:
Tasks: 29 total进程总数
1 running正在运行的进程数
28 sleeping睡眠的进程数
0 stopped停止的进程数
0 zombie僵尸进程数
Cpu(s):
0.3% us用户空间占用CPU百分比
1.0% sy内核空间占用CPU百分比
0.0% ni用户进程空间内改变过优先级的进程占用CPU百分比
98.7% id空闲CPU百分比
0.0% wa等待输入输出的CPU时间百分比
0.0% hi
0.0% si
0.0% wa的百分比可以大致的体现出当前的磁盘io请求是否频繁。如果 wa的数量比较大,说明等待输入输出的的io比较多。
第二种:用vmstat
vmstat命令报告关于线程、虚拟内存、磁盘、陷阱和 CPU活动的统计信息。由 vmstat命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和。
输入命令:
vmstat 2 5
如果发现等待的进程和处在非中断睡眠状态的进程数非常多,并且发送到块设备的块数和从块设备接收到的块数非常大,那就说明磁盘io比较多。
vmstat参数解释:
Procs
r:等待运行的进程数 b:处在非中断睡眠状态的进程数 w:被交换出去的可运行的进程数。此数由 linux计算得出,但 linux并不耗尽交换空间
Memory
swpd:虚拟内存使用情况,单位:KB
free:空闲的内存,单位KB
buff:被用来做为缓存的内存数,单位:KB
Swap
si:从磁盘交换到内存的交换页数量,单位:KB/秒
so:从内存交换到磁盘的交换页数量,单位:KB/秒
IO
bi:发送到块设备的块数,单位:块/秒
bo:从块设备接收到的块数,单位:块/秒
System
in:每秒的中断数,包括时钟中断
cs:每秒的环境(上下文)切换次数
CPU
按 CPU的总使用百分比来显示
us: CPU使用时间
sy: CPU系统使用时间
id:闲置时间
准测
更多vmstat使用信息
第二种:用iostat
安装:
Iostat是 sysstat工具集的一个工具,需要安装。
Centos的安装方式是:
yum install sysstat
Ubuntu的安装方式是:
aptitude install sysstat
使用:
iostat-dx显示磁盘扩展信息
root@fileapp:~# iostat-dx
r/s和 w/s分别是每秒的读操作和写操作,而rKB/s和wKB/s列以每秒千字节为单位显示了读和写的数据量
如果这两对数据值都很高的话说明磁盘io操作是很频繁。