如何通过系统对MySQL进行“体检”

本文介绍了如何通过Linux系统命令对MySQL进行“体检”,包括使用top命令查看CPU和内存状态,iostat分析磁盘I/O,vmstat监控进程和CPU活动,sar命令获取系统性能历史数据,以及free命令检查内存使用情况。这些工具帮助确认数据库实例的负载和系统资源的利用率,确保平稳运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

top命令

如下例

Tasks: 550 total,   1 running, 549 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.7 us,  0.3 sy,  0.0 ni, 98.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 39467241+total,  4412548 free, 18383633+used, 20642352+buff/cache
KiB Swap:        0 total,        0 free,        0 used. 20441100+avail Mem

CPU各项指标说明

0.0 us
用户程序,在运行过程中,使用的CPU时间的占比。
我们希望的是越高越好,尽量控制在90%
0.0 sy
控制: 资源管理,内核的工作(系统调用)
sys高的原因: 
      1.  bug 
      2.  锁的问题
99.9 id 
CPU空间的时间占比      

0.0 wa
CPU花在等待上的时间
wa高的原因:
          1. 锁
          2. IO (raid,过度条带化)
          3. 索引
多cpu使用情况监控:
主要判断我们cpu多核心有没有被充分利用。
现象:单颗很忙,其他很闲,对于MySQL来讲,有可能是并发参数设定不合理导致的。

MEM

KiB Mem :  39467241+total,  4412548 free, 18383633+used, 20642352+buff/cache
### 1.2.1 名称介绍
total :总内存大小
free  :空闲的
used  :在使用的
buff/cache :缓冲区 和 缓存

1. 内存的可用空间的计算   free +buffer cache 
2. 内存回收(buffer)的方式:
        (1) 写入磁盘
        (2) swap  
对于数据库来讲:需要将swap屏蔽掉

KiB Swap:        0 total,        0 free,        0 used. 20441100+avail Mem 
Linux 6操作系统,默认回收策略(buffer cache),不立即回收策略
内存使用达到100%-60%时候,40% 会使用swap
Linux 7操作系统
内存使用达到100%-30%(70%)时候,才会时候swap

cat /proc/sys/vm/swappiness 
10
echo 0 >/proc/sys/vm/swappiness    的内容改成0(临时)
vim /etc/sysctl.conf
添加:
vm.swappiness=0
sysctl -p

iostat 命令

iostat -dk 1

现象说明
1. IO 高 cpu us 也高,属于正常现象
2. CPU  us高  IO很低   ,MySQL 不在做增删改查,有可能是存储过程,函数,排序,分组,多表连接
3. Wait,SYS 高  , IO低:IO出问题了,锁等待过多的几率比较大. 
IOPS:每秒磁盘最多能够发生的IO次数,这是个定值 
频繁小事务,IOPS很高,达到阈值,可能IO吞吐量没超过IO最大吞吐量.无法新的IO了
存储规划有问题.

iostat -x 1

从上面的截图可以清晰的看到,读的比例低于写的比例,说明系统倾向于写会更多,读的会少一些。从后面的%util来看,在读和写一起发生的时候,%util的值会有一些变化,同时这个值也不是很高,对这个实例从收集的信息来看,数据库实例的负载不是很高,系统正在平稳的运行 。

vmstat命令

vmstat 1

1标红的是r和b,r表示procs的队列等待,b代表的是procs被阻塞,下面的数字是什么,就代表阻塞了几个.

2 绿色标记的cpu的idle百分比,出现100说明系统的负载现在很低,也是数据库压力小的一个表现。

sar命令

sar -p

标红的%idle:表明cpu运行的很空闲,有大量的cpu资源在空闲,这从机器资源方面也能看的出业务不是很繁忙。

free -h命令

从巡检到信息来看剩余的空闲内存还有10G,在结合前面巡检到的cpu和io的信息,确定目前32G的内存满足系统运行的需求。如果监控发现swap过了一段时间持续增长,就需要添加物力资源,比如说(内存)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值