👉点击这里申请火山引擎VIP帐号,立即体验火山引擎产品>>>
本文主要介绍如何使用iostat、Atop工具,排查和解决Linux实例在使用过程中,由于磁盘BPS(每秒传输的字节数)/IOPS(每秒的输入/输出操作次数)负载较高,出现系统卡顿、磁盘IO性能被限速、磁盘IO时延增高导致业务进程性能受损的问题。
操作步骤
登录目标实例,操作详情可参考登录Linux实例。
执行如下命令,安装iostat工具。
CentOS
sudo yum install sysstat -y
Ubuntu、Debian
sudo apt-get install sysstat -y
执行如下命令,使用iostat工具查询磁盘的使用情况。
说明
命令中参数作用如下所示,请按需调整。
-d:显示磁盘的使用情况。
-k:以KB为单位显示。
3:统计时间间隔,请按需调整。
5:统计次数,请按需调整。
iostat -d -k 3 5
回显示例
参数说明
参数 | 说明 |
Device | 磁盘名称。 |
tps | 每秒钟发送到的I/O请求数。 |
Blk_read/s | 每秒读取的block数。 |
Blk_wrtn/s | 每秒写入的block数。 |
Blk_read | 读入的block总数。 |
Blk_wrtn | 写入的block总数。 |
使用Atop工具,查看磁盘占用排序情况。
请确保在目标实例中已经安装Atop工具,若未安装,请执行如下命令完成操作。
CentOS
sudo yum -y install atop
Ubuntu、Debian
sudo apt updatesudo apt -y install atop
执行如下命令,查看磁盘占用实时排序情况。
atop -d
回显示例
请根据RDDSK(每秒读的数据量)、WRDSK(每秒写的数据量)、WCANCAL(每秒磁盘活动的次数)、DSK(磁盘利用率)、与CMD(进程名),判断占用磁盘较高的进程是否符合预期,并获取目标进程的PID(进程标识符)。
符合预期
请优化该进程对应的程序处理逻辑,减少磁盘占用。您也可以升级您的实例配置、扩容云盘或变更云盘规格,避免程序受限于云盘性能无法正常运行,操作详情可查看修改实例规格、扩容云盘、变更云盘规格。
不符合预期
您可以执行如下命令,手动终止异常进程。
注意
终止进程后,可能导致目标进程的数据丢失。
终止操作系统关键进程可能导致系统重启,请谨慎操作。
在Atop监控页面中,按k键进入终止进程模式。
输入目标进程PID,按回车键确认。
输入9,按回车键确认,强制关闭进程。