记一次负载报警处理过程

记一次负载报警处理过程:

1.top命令查看load average

load average:系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

解释:
这里具体需要关注的还是load average三个数值。先来说说定义吧:在一段时间内,CPU正在处理以及等待CPU处理的进程数之和。三个数字分别代表了1分钟,5分钟,15分钟的统计值,这个数值的确能反应服务器的负载情况。但是,这个数值高了也并不能直接代表这台机器的性能有问题,可能是因为正在进行CPU密集型的计算,也有可能是因为I/O问题导致运行队列堵了。所以,当我们看到这个数值飙升的时候,还得具体问题具体分析。大家都知道,一个CPU在一个时间片里面只能运行一个进程,CPU核数的多少直接影响到这台机器在同时间能运行的进程数。所以一般来说Load Average的数值别超过这台机器的总核数,就基本没啥问题。

0.0 wa
等待输入输出的CPU时间百分比 wa 的百分比可以大致的体现出当前的磁盘io请求是否频繁。如果 wa的数量比较大,说明等待输入输出的的io比较多。

需安装yum -y install iotop
iotop命令查看磁盘读写情况

需安装yum -y install ioping
ioping -c 10 /dev/sda1 查看io延迟情况,这个命令会对/dev/sda1执行10次IO测试,并报告每次测试的延迟时间。

iftop 命令查看网络流量情况。

iostat -dx 1
这个命令会以1秒为间隔持续监视所有磁盘设备的IO状态。输出会包括读写请求数、读写字节数以及读写时间等信息。

如果你只想查看特定磁盘的信息,可以在命令后面加上设备名,例如:

iostat -dx 1 /dev/sda
这将只显示关于/dev/sda的IO统计信息。

注意:iostat命令可能需要安装sysstat包才能使用。

最后发现是mysql 读频繁

mysql> show full processlist; 查看完全的SQL语句
mysql> show processlist; 查看整体情况

kill 掉mysql 线程id ,即恢复正常

posted @ 2024-07-02 21:40  w787815  阅读(4)  评论(0编辑  收藏  举报