Linux系统的ECS实例磁盘BPS/IOPS负载高问题的排查及解决方案

axin 2025-04-02 6人围观 ,发现0个评论 火山引擎云服务器云服务器云服务器教程

👉点击这里申请火山引擎VIP帐号,立即体验火山引擎产品>>>


本文主要介绍如何使用iostat、Atop工具,排查和解决Linux实例在使用过程中,由于磁盘BPS(每秒传输的字节数)/IOPS(每秒的输入/输出操作次数)负载较高,出现系统卡顿、磁盘IO性能被限速、磁盘IO时延增高导致业务进程性能受损的问题。

操作步骤

  1. 登录目标实例,操作详情可参考登录Linux实例。

  1. 执行如下命令,安装iostat工具。

    • CentOS

sudo yum install sysstat -y
    • Ubuntu、Debian

sudo apt-get install sysstat -y
  1. 执行如下命令,使用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总数。
  1. 使用Atop工具,查看磁盘占用排序情况。

    1. 请确保在目标实例中已经安装Atop工具,若未安装,请执行如下命令完成操作。

      • CentOS

sudo yum -y install atop
      • Ubuntu、Debian

sudo apt updatesudo apt -y install atop
    1. 执行如下命令,查看磁盘占用实时排序情况。

atop -d
回显示例

    1. 请根据RDDSK(每秒读的数据量)、WRDSK(每秒写的数据量)、WCANCAL(每秒磁盘活动的次数)、DSK(磁盘利用率)、与CMD(进程名),判断占用磁盘较高的进程是否符合预期,并获取目标进程的PID(进程标识符)。

      • 符合预期

请优化该进程对应的程序处理逻辑,减少磁盘占用。您也可以升级您的实例配置、扩容云盘或变更云盘规格,避免程序受限于云盘性能无法正常运行,操作详情可查看修改实例规格、扩容云盘、变更云盘规格。
      • 不符合预期

您可以执行如下命令,手动终止异常进程。
注意
  • 终止进程后,可能导致目标进程的数据丢失。

  • 终止操作系统关键进程可能导致系统重启,请谨慎操作。

      1. 在Atop监控页面中,按k键进入终止进程模式。

      1. 输入目标进程PID,按回车键确认。

      1. 输入9,按回车键确认,强制关闭进程。


请关注微信公众号
微信二维码
不容错过
Powered By TOPYUN 云产品资讯