Linux 服务器磁盘 IO 过高,导致网站卡顿

一、磁盘IO过高到底是什么意思?

磁盘IO(Input/Output)简单说就是硬盘读写数据的效率。
当大量程序同时读写磁盘,或者单个程序读写量过大,磁盘就会“忙不过来”。
这时CPU会等待磁盘完成操作,导致网站处理请求变慢,页面加载超时或直接卡死。Linux服务器磁盘IO过高,导致网站卡顿是站长最常遇到的性能瓶颈之一。

二、准备环境与安装排查工具

本教程适用于CentOS 7/8、Ubuntu 20.04+等常见发行版。
需要你有服务器SSH登录权限并熟悉基本命令。
先更新包管理器并安装必备工具:

# CentOS / RHEL
sudo yum install -y sysstat iotop

# Ubuntu / Debian
sudo apt update && sudo apt install -y sysstat iotop

sysstat 包含 iostat 命令,iotop 是一个交互式查看进程IO的工具。
安装后即可开始排查。

三、用iostat快速判断磁盘是否过载

运行以下命令查看磁盘整体IO情况,每1秒输出一次,共输出3次:

iostat -x 1 3

重点关注 %util(磁盘繁忙百分比)和 await(平均每次IO请求等待时间,单位毫秒)。
如果 %util 持续超过 80%,或 await 超过几十毫秒,说明磁盘确实处于高负载状态。
另外 rKB/swKB/s 能看出读写量大小。

如果这里已经显示异常,继续下一步找具体进程。如果正常,则网站卡顿可能由其他原因引起(如CPU、内存或网络)。

四、用iotop锁定“罪魁祸首”

安装 iotop 后直接运行:

sudo iotop -oP

参数 -o 只显示实际有IO的进程,-P 只显示进程(不显示线程)。
你会看到一个实时列表,每行包含进程PID、IO读写速率、磁盘耗时百分比等。找出读写量最大或DISK WRITE/SYNC比例异常的进程

常见高IO进程举例:

  • MySQL / MariaDB 数据库(日志刷写或大量查询)
  • 网站访问日志写入(如Nginx访问日志)
  • 定时备份任务(如数据库备份、文件同步)
  • 日志切割或压缩进程

五、针对高IO进程的优化方案

根据上一步找到的进程,采取相应措施:

  • 数据库(MySQL):进入MySQL执行 SHOW FULL PROCESSLIST; 检查慢查询;修改my.cnf适当调大 innodb_buffer_pool_size(建议物理内存的60%-70%),并关闭不必要的查询日志。
  • Web服务日志:若Nginx日志写入频繁,可关闭访问日志或改为缓冲写入。编辑Nginx配置,在对应server块内添加 access_log off; 或使用缓冲参数 access_log /var/log/nginx/access.log buffer=4k flush=5s;
  • 系统日志:编辑 /etc/systemd/journald.conf,将 Storage=auto 改为 Storage=volatile(日志存内存),然后重启 systemd-journald
  • 禁用不必要的服务:如 updatedb(mlocate定时更新)或 cron 中的大量备份任务。

六、避坑高频问题

  • iotop需要root权限:忘记加 sudo 会报错。
  • iostat初次安装后可能无数据:因为需要系统采集周期,耐心等几秒或重启 sysstat 服务。
  • 优化后立即生效吗? 大部分配置需重启相应服务,如 systemctl restart nginxsystemctl restart mysqld
  • 不要随意调大页面缓存:盲目增加 vm.dirty_ratio 可能导致数据丢失风险,建议保持默认。

七、效果验证

优化后再次运行 iostat -x 1 3,观察 %util 是否下降到合理范围(一般低于 40%)。
同时打开网站测试响应速度。
可以尝试持续压力测试(如使用 ab 命令)并监控IO变化。
如果 %util 仍然很高且找不到特定进程,可能需要考虑升级磁盘硬件(如换SSD或增加RAID带宽)。

当你按照以上步骤完成排查和优化,Linux服务器磁盘IO过高,导致网站卡顿的问题应该能得到明显改善。
如果仍异常,请回头检查是否有未被发现的进程(如swap交换导致的持续IO),必要时使用 vmstat 结合 dstat 做进一步分析。

分享到:
上一篇
用大模型做安全扫描,能发现隐藏的漏洞吗?
下一篇
宝塔面板数据库备份文件损坏,如何恢复?
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意