遇到liunx服务器IO负载,读IO流量峰值347MB/s,排查并解决。

ops/2025/3/3 15:18:50/

前言:

根据监控报警看到IO读的速度为347MB/s。
在这里插入图片描述

统计时间区段 统计时长 IOPS IO流量 状态

1 工作日上班时间段:08:00-18:00 1小时平均值 >2000 >200 MB/s 异常
4小时平均值 >1500 >150 MB/s 异常
8小时平均值 >1000 >100 MB/s 异常
持续7天 >500 >50 MB/s 异常
2 工作日非上班时段:18:00-08:00 1小时平均值 >4000 >300 MB/s 异常
4小时平均值 >3000 >200 MB/s 异常
12小时平均值 >2000 >100 MB/s 异常
持续7天 >1000 >80 MB/s 异常

通过iostat、iotop、top、vmstat 、pidstat命令排查

查看磁盘 I/O 整体情况

iostat -x 1 10
参数解释:-x 表示显示详细信息;1 表示每隔 1 秒输出一次数据;10 表示总共输出 10 次。
关键指标分析:关注 %util(设备利用率)、r/s(每秒读取次数)、w/s(每秒写入次数)、r_await(读请求平均等待时间)、w_await(写请求平均等待时间)等指标。若 %util 接近或达到 100%,说明磁盘设备繁忙;r_await 和 w_await 数值高则表示 I/O 请求等待时间长。

可报告虚拟内存统计信息,也能显示磁盘 I/O 情况。

vmstat
参数解释:每隔 1 秒输出一次数据。

定位高 I/O 进程

iotop
使用方法:直接运行该命令后,会按 I/O 使用率降序显示进程信息。可以看到每个进程的读写速率、累计读写数据量等信息,从而快速定位产生大量 I/O 的进程。

用于监控指定进程或所有进程的 I/O 统计信息。

pidstat -d 1
参数解释:-d 表示显示 I/O 统计信息;1 表示每隔 1 秒输出一次数据。

1、通过iotop命令看出mysql查看进程占用cpu和free使用率高;
2、使用iostat命令查看出mysql这个进程占用io比较高;
3、然后登陆mysql 执行这条sql语句查看是否有锁表的show full processlist;(查看有两个查询语句卡死在那了,直接使用kill 杀掉,但是过一会儿还是没有正常。)
4、通过SHOW OPEN TABLES WHERE In_use > 0; 这条sql语句进行查询返回1的表名说明正在锁表不能对这张表进行操作,查看出一张表正在锁表,然后查看这是一张日志表数据比较大,没有用的垃圾数据进行清理掉了。
5、清理完日志表进行查看是否还有锁表的,发现没有锁表的了。于是加了一个定时任务,每天清理这张日志表的垃圾数据。
6、此服务器只部署了mysql,所以第一时间就定位到了mysql


http://www.ppmy.cn/ops/162793.html

相关文章

自动化问题汇总

PLC【1】伺服轴使用前 机器人【1】机器人使用前 上位机【1】 系统【1】Window的性能测试工具无法加载性能计数器 其他【1】 PLC 【1】伺服轴使用前 机器人 【1】机器人使用前 上位机 【1】 系统 【1】Window的性能测试工具无法加载性能计数器 使用.NET时,编…

GPT-4.5震撼登场,AI世界再掀波澜!(3)

GPT-4.5震撼登场,AI世界再掀波澜! GPT-4.5震撼登场,AI世界再掀波澜!(2) (一)伦理困境:如何抉择 GPT-4.5 的强大功能在为我们带来诸多便利的同时,也引发了一系列深刻的伦理问题,这些问题犹如高…

《Operating System Concepts》阅读笔记:p177-p178

《Operating System Concepts》学习第 18 天,p177-p178 总结,总计 2 页。 一、技术总结 1.implicit thread A programming model that transfers the creation and management of threading from application developers to compilers and run-time l…

博客系统--测试报告

博客系统--测试报告 项目背景项目功能功能测试①登录功能测试②发布博客功能测试③删除文章功能测试④功能测试总结: 自动化测试自动化脚本执行界面: 性能测试 本博文主要针对个人实现的项目《博客系统》去进行功能测试、自动化测试、性能测试&#xff0…

LeetCode 热题100 438. 找到字符串中所有字母异位词

LeetCode 热题100 | 438. 找到字符串中所有字母异位词 大家好,今天我们来解决一道经典的算法题——找到字符串中所有字母异位词。这道题在 LeetCode 上被标记为中等难度,要求我们在字符串 s 中找到所有是 p 的异位词的子串,并返回这些子串的…

Linux(centOS) 命令提示符格式修改(PS1)

1. 命令提示符的组成 命令提示符(PS1)通常由以下部分组成: 部分示例说明[ 和 ][...]提示符的开头和结尾,用于视觉分隔。用户名root 或 tianjiajie当前登录的用户。root 是超级用户,普通用户可能是其他名称。分隔用户…

16.11 LangChain SQL 生成与执行实战:构建安全高效的数据库查询引擎

LangChain SQL 生成与执行实战:构建安全高效的数据库查询引擎 关键词:SQL 安全执行、数据库连接池、查询结果处理、错误重试机制、生产级 SQL 运维 1. SQL 执行全链路架构设计 1.1 核心处理流程图 #mermaid-svg-2aWgNUpLctOECv8J {font-family:"trebuchet ms",ve…

ARM Linux LCD上实时预览摄像头画面

文章目录 1、前言2、环境介绍3、步骤4、应用程序编写4.1、lcd初始化4.2、摄像头初始化4.3、jpeg解码4.4、开启摄像头4.5、完整的程序如下 5、测试5.1、编译应用程序5.2、运行应用程序 6、总结 1、前言 本次应用程序主要针对支持MJPEG格式输出的UVC摄像头。 2、环境介绍 rk35…