linux查看磁盘io使用情况 |
您所在的位置:网站首页 › ST0CKH0LM › linux查看磁盘io使用情况 |
六种方法
top命令、vmstat命令、iostat命令、iotop命令、pt-ioprofile命令、pidstat命令 一、 top命令top - 11:41:22 up 51 min, 2 users, load average: 0.01, 0.04, 0.01 Tasks: 130 total, 1 running, 129 sleeping, 0 stopped, 0 zombie Cpu(s): 0.2%us, 0.1%sy, 0.0%ni, 99.2%id, 0.4%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 4151760k total, 2284628k used, 1867132k free, 47892k buffers Swap: 4192956k total, 0k used, 4192956k free, 2145020k cached分析:查看0.4%wa这里,IO等待所占用的CPU时间的百分比,高过30%时IO压力高 具体的解释如下: Tasks: 130 total 进程总数 1 running 正在运行的进程数 129 sleeping 睡眠的进程数 0 stopped 停止的进程数 0 zombie 僵尸进程数 Cpu(s): 0.2% us 用户空间占用CPU百分比 0.1% sy 内核空间占用CPU百分比 0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比 99.2% id 空闲CPU百分比 0.4% wa 等待输入输出的CPU时间百分比 0.0% hi 0.0% si 0.4% wa 的百分比可以大致的体现出当前的磁盘io请求是否频繁。如果 wa的数量比较大,说明等待输入输出的的io比较多 二、vmstat命令命令:vmstat 2 5(每两秒执行一次,执行5次) vmstat参数解释: Procs r: 等待运行的进程数 b: 处在非中断睡眠状态的进程数 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: 闲置时间 三、iostat 使用安装命令: yum install sysstat 使用iostat -d -k 2 查看IO情况: -k:已kb为单位显示读写信息 -m:已mb为单位显示读写信息 device:磁盘名称tps:每秒钟发送到的I/O请求数.Blk_read/s:每秒读取的block数.Blk_wrtn/s:每秒写入的block数.Blk_read:读入的block总数.Blk_wrtn:写入的block总数. 使用iostat -x 5 查看IO情况: -x:更详细的io设备统计信息 %util: 一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒) 如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。 四、iotop命令安装命令:yum install iotop 查看哪个线程耗IO比较高、按 o 只显示有磁盘 IO 活动的进程。 安装步骤: 1、安装依赖包:yum install -y perl perl-IO-Socket-SSL perl-DBD-MySQL perl-Time-HiRes perl-Digest-MD5 perl-ExtUtils-MakeMaker2、下载:wget https://www.percona.com/downloads/percona-toolkit/3.0.13/binary/redhat/7/x86_64/percona-toolkit-3.0.13-1.el7.x86_64.rpm 3、安装rpm包:rpm -ivh percona-toolkit-3.0.13-1.el7.x86_64.rpm 使用方法: pt-ioprofile --profile-pid=1236 --cell=sizes pt-ioprofile的原理是对某个pid附加一个strace进程进行IO分析。 对于定位问题更有用的是通过IO的吞吐量来进行定位。使用参数 --cell=sizes,该参数将结果已 B/s 的方式展示出来 从上图可以看出IO负载的主要来源是jetty。 并且压力主要集中在读取上。 六、sar命令sar -d 除了查看磁盘外还能查看其他的资源信息: 查看CPU使用情况 sar -u将统计结果保存到文件 sar -o & sar -f查看平均负载 sar -q查看内存使用情况 sar -r查看系统swap分区统计情况 sar -W查看IO和传递速率 sar -b 统计网络信息 sar -n 网络接口信息 sar -n DEV 网络设备通信失败信息 sar -n EDVE统计socket连接信息 sar -n SOCK TCP连接的统计 sar -n TCP 七、dstat命令参考:CentOS下性能监测工具 dstat - 走看看 八、sysstat命令 九、pidstat命令pidstat -d 1 (每1秒打印一次使用磁盘io的进程及io速度) ctrl+c后显示统计 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |