三、查看IO运行状态相关工具
通过iostat命令查看IO是否存在瓶颈
iostat 可以显示CPU和I/O系统的负载情况及每个磁盘分区的读写状态信息. 从而知道我们系统IO 是否存在问题。
1.查看文件系统块大小
对于xfs文件系统,查看文件系统块大小
[root@120 ~]# xfs_growfs -l /dev/sda1 |grep bsize
2.找出系统中对磁盘读写最多的进程
2.1 通过iostat命令查看IO是否存在瓶颈
安装iostat: yum install sysstat -y
常用参数:
-d 仅显示磁盘统计信息
-k 以K为单位显示每秒的磁盘请求数,默认单位块.
-p device | ALL 用于显示块设备及系统分区的统计信息.
例:显示每个分区读写速度 iostat -p sda -dk
每列含意:
kB_read/s 每秒从驱动器读入的数据量,单位为K.
kB_wrtn/s 每秒向驱动器写入的数据量,单位为K.
kB_read 读入的数据总量,单位为K.
kB_wrtn 写入的数据总量,单位为K.
iostat -xk 1 5
测试: 给磁盘写入一些内容
dd if=/dev/zero of=a.txt bs=10M count=1000 ; sync
读入的数据用/dev/zero ,不会磁盘的读 花费很多开销。
sync #把内存中的数据快速写到磁盘上。 只做dd不执行sync,看不出写入效果
实战2:查看哪个进程使用磁盘读写最多?
iotop命令,查看哪个进程使用磁盘读写最多
场景: 比如服务器很卡,查看CPU使用率不高,内存也够用,但就是卡,尤其是打开新程序或文件时,更卡。此时是哪出问题了?
iotop -o -d 1 #显示正在使用磁盘的进程
参数:
-o, -only 只显示在读写硬盘的程序
-d SEC, –delay=SEC 设定显示时间间隔
退出,按q或ctrl+C