定位linux服务器上应用程序是否存在I/O瓶颈

本文介绍了如何通过top、iostat和iotop命令来诊断Linux服务器上的I/O性能问题。首先,使用top命令关注CPU的wa项以判断I/O等待是否过高;接着,利用iostat查看实际I/O操作详情;最后,通过iotop找出占用大量I/O的进程,从而有针对性地进行优化。此外,还提到了stress命令用于模拟I/O负载进行测试。
摘要由CSDN通过智能技术生成

参考徐文浩老师 理解IO_WAIT:I/O性能到底是怎么回事儿?

定位服务器上的应用程序是否存在I/O瓶颈,分为3步

步骤1:执行top命令

第三行 %Cpus

需要特别注意的是 wa 项目,那个项目代表的是 I/O wait,也就是 CPU 等待 IO 完成操作花费的时间占 CPU 的百分比。通常你的系统会变慢都是 I/O 产生的问题比较大!

步骤2:执行iostat命令,查看实际I/O操作情况

知道了 iowait 很大,那么我们就要去看一看,实际的 I/O 操作情况是什么样的。这个时候,你就可以去用 iostat 这个命令了。我们输入“iostat”,就能够看到实际的硬盘读写情况。

步骤3:执行iotop命令,确定哪个进程占用了大量IO

yum install iotop

通过 iotop 这个命令,你可以看到具体是哪一个进程实际占用了大量 I/O,那么你就可以有的放矢,去优化对应的程序了。

使用stress命令进行测试

参考:centos安装stress安装失败_Linux压力测试软件Stress安装及使用指南

http://ftp.debian.org/debian/pool/main/s/stress/

下载stress_1.0.1.orig.tar.gz

tar -zxvf xxx,之后进入到文件夹中进行编译安装

./configure

make

make install

使用下面的命令模拟出了wa的情况

新增1个写进程,每次写3G文件块

stress -d 1 --hdd-bytes 1G
在这里插入图片描述
先使用top命令查看
在这里插入图片描述
使用iostat命令查看详情
在这里插入图片描述
使用iotop命令查看哪个进程
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值