linux卡顿问题排查_记一次Linux系统卡顿的排查过程

博客介绍Linux卡顿问题排查方法。先通过w命令查看系统负载,发现负载高;用top命令确认是I/O原因致负载过高;再用iostat命令确定是vda盘I/O异常;最后用iotop或ps查找高I/O进程,如进程号123424,可查看其读写字节数,必要时用kill命令杀掉进程。

https://www.pianshen.com/article/41121355927/

1.使用w命令查看系统负载,发现系统负载很高:(该服务器只有一个CPU,load average值的意义是单位时间段内CPU活动进程数,这个值越大就说明服务器压力越大,一般情况下这个值只要不超过服务器的cpu数量就没有关系)

2.使用top命令进一步确认具体是原因导致的负载过高,执行top命令后,发现CPU这一列wa的数值很高,说明CPU资源在等待I/O,由此可以判断是因为I/O的原因导致了系统负载过高,操作卡顿。

top命令从系统面大体展示了I/O Wait,但无法确定具体是哪个磁盘正在被影响;因此需要使用iostat命令进行确认

3.使用iostate命令确认具体是那个磁盘存在I/O异常,

iostate -x 2 5  # 每2秒打印报告,共打印5次;-x参数告诉iostata打印出更详尽的报告

iostat打印出的第1个报告,数值是基于最后一次系统启动的时间统计的,即每个子报告都是基于上1次的报告,因此第一个报告应该被忽略。在这个例子中,第2份报告就是从第1份报告开始后的硬盘数据,第3份报告基于第2份,依此类推。根据第2个报告的输出可以看到,vda盘的%util数值达到了103.63%,这表示引起I/O慢的进程在写入vda盘。

4.使用iotop或者ps查找导致高I/O的进程:

查看哪个进程使用硬盘最多的最简单的方法就是使用iotop命令,虽然iotop好用,但默认主流的linux发行版中是没有安装的,可以使用yum provides */iotop 查看iotop命令是由那个rpm包提供的,使用yum安装下即可。如果无法在短时间内完成iotop的安装,还可以使用ps命令来大致确定具体是那个进程导致的I/O过高。

ps命令能打印出内存,cpu的情况但没办法打印出硬盘I/O的情况。虽然ps没办法打印出I/O的情况,但可以显示出进程是否在等待I/O。等待I/O的进程通常处于uninterruptible、sleep或D状态,通过这些信息可以大致查找出处在wait状态的进程。

for x in `seq 1 10`;do ps -eo state,pid,cmd|grep "^D";echo "---";sleep 5;done

根据命令的打印结果可以看出,进程号为123424的进程每次都会出现,说明很有可能是该进程导致的I/O过高

为了进一步确认是否是该进程导致的I/O过高,可以在/proc中找到该进程,查看它的I/O

read_bytes和write_bytes就这个进程读写硬盘的字节数。可以看到123424这个进程已经读了2GB,写了235MB的数据。

接下来的操作,可以使用kill命令杀掉导致I/O飙高的进程(临时)

Linux服务器出现卡顿的情况,我们可以采取以下步骤进行排查: 1.查看系统负载:使用命令"top"或者"uptime"可以查看服务器系统负载情况,观察CPU使用率、内存使用率和I/O等指标,找出是否有任何异常。 2.检查CPU占用率:使用命令"top"或者"htop"查看是否有某个进程或者服务占用了过高的CPU资源,这可能是导致服务器卡顿的原因。 3.检查内存使用情况:使用命令"free"查看服务器的内存使用情况,确认是否有内存泄漏或者内存不足的情况。 4.检查磁盘使用情况:使用命令"df"查看服务器磁盘使用情况,确认是否有某个分区占满了导致卡顿的情况。 5.检查进程和服务状态:使用命令"ps"查看当前运行的进程和服务的状态,确认是否有异常进程或者服务运行导致卡顿。 6.查看日志文件:检查系统日志文件,如/var/log/syslog或者/var/log/dmesg,查找是否有任何错误、警告或者异常信息。 7.网络连接情况:使用命令"netstat"或者"ss"查看服务器的网络连接状态,确认是否有过多的网络连接或者异常连接导致卡顿。 8.检查硬件健康状况:如果以上排查没有发现问题,可以进行硬件检查,如查看硬盘、内存、CPU等硬件是否正常工作。 以上是一些常见的排查步骤,希望可以帮助您解决Linux服务器卡顿问题。如果问题依然存在,建议联系专业的系统管理员或者技术支持来协助解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值