两招定位服务器高负载异常告警

本文介绍了一种典型的服务器高负载告警场景,当CPU负载达到99-100%时,通过top命令查看繁忙进程及lsof命令追踪IO操作来定位问题原因。示例中,发现rsync进程正在进行大量文件备份操作导致负载升高。

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

机器高负载告警一般是CPU负载在99-100%,同时伴有大量的网络出包和入包量,常见的原因是机器在某个时段进行LOG,数据等备份操作。

1,首先,执行top -d 1,查看CPU的负载情况和对应的繁忙的进程列表,如果要查看到各个核的CPU负载,只需按1即可切换到该视图。

该命令的使用具体请看<<linux下如何查看多核负载情况>>

如下图:

top demo

可以看出,PID=15514的进程名字为rsync在进行同步文件操作,占CPU 99%

2, 查看该进程(PID=15514)的具体打开了哪些IO操作(包括网络socket),执行命令

lsof -p 15514

注意该命令需要root权限,可以通过su命令切换到root用户。

lsof demo

可以看出,在该时刻,进程rsync在进行非常频繁的文件备份操作,并且是从IP后缀是102的机器,同步到IP后缀是87的机器,此时正在读取的文件是/data/log/sch_inorder_insert-1.0/back/201003.tar.gz

这个是在指定的时间点进行现场抓包,也可以通过查看/var/log/messages 系统流水进行查看connection from来自哪个IP的请求:

需要root密码

cat /var/log/messages | grep "connection from"

一般可以看出在系统通过ssh连接到该机器的rsync同步操作,但若对应的rsync不是通过ssh机制,则无法在该log中看到,这时候可以需要现场抓包了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值