HQY

×

【运维学习】Linux系统卡了怎么办?

hqy hqy 发表于2026-06-30 16:50:07 浏览6 评论0

抢沙发发表评论

运维时遇到Linux系统卡顿,鼠标拖不动、命令输完半天没反应,甚至服务直接卡死,真的会原地崩溃——到底是CPU炸了?内存满了?还是磁盘拖后腿了?

图片

第一步:先看整体负载——uptime(1秒判断是否真“卡”)

很多时候我们觉得系统卡,可能只是暂时的负载高峰,也可能是长期过载。先用电竞级“扫一眼”命令,快速掌握系统整体状态:
命令:uptime
输入后会出现类似这样的输出:
14:30:00 up 2 days, 3:45, 2 users, load average: 5.25, 4.80, 4.50
重点看最后三个数字——load average: 1分钟、5分钟、15分钟的系统负载,核心判断标准很简单:
如果你的CPU是N核,那么负载数值 ≤ N,说明系统基本正常;如果持续大于N(比如4核CPU,负载长期5以上),就说明系统真的过载了,需要进一步排查。

举个例子:4核服务器,1分钟负载5.25,说明CPU已经扛不住了,卡顿大概率和CPU有关;如果负载正常,但系统还是卡,就往内存、磁盘方向找问题。

第二步:排查CPU——top

如果uptime显示负载过高,优先查CPU——毕竟CPU是系统的“大脑”,一旦被占满,所有操作都会变慢。
这里有两个常用命令,按需选择:
基础款:top(系统自带,无需额外安装)
输入top后,会进入实时监控界面,重点看这2点:
1. 第一行的%Cpu(s):us(用户进程占用CPU百分比)、sy(系统进程占用CPU百分比),如果其中一项或两项加起来接近100%,说明CPU被占满了;
2. 下面进程列表中,按“P”键(大写),会按CPU占用率从高到低排序,排在最前面的进程,就是“吃CPU”的元凶(比如异常的java、nginx进程)。
小技巧:如果是临时卡顿,终止异常进程即可;如果是长期CPU占用高,需要排查进程是否异常(比如内存泄漏、死循环)。

第三步:排查内存/swap——free -h(避免“内存不够用”拖垮系统)

有时候CPU负载正常,但系统还是卡,大概率是内存不够用了——系统会把部分硬盘空间当作“虚拟内存”(swap)使用,而硬盘的读写速度比内存慢100倍以上,一旦用到swap,系统就会明显卡顿。
命令:free -h
“-h”是“human-readable”的缩写,意思是用我们能看懂的单位(GB、MB)显示,避免看一堆数字头疼,输出类似这样:
total used free shared buff/cache available
Mem: 15Gi 12Gi 512Mi 128Mi 2.5Gi 2.2Gi
Swap: 10Gi 8.5Gi 1.5Gi
重点看这2个关键指标:
1. Mem中的available(可用内存):如果可用内存长期低于1GB(具体看服务器内存大小),说明内存不足;
2. Swap中的used(已用虚拟内存):如果已用swap超过50%,说明系统已经在“硬撑”,卡顿基本是因为内存不够,需要清理无用进程,或者升级内存。

第四步:排查磁盘IO——iostat、iotop(磁盘“偷懒”也会导致卡顿)

还有一种情况:CPU、内存都正常,但系统还是卡,尤其是打开文件、复制文件时特别慢,这时候要排查「磁盘IO」——也就是磁盘的读写速度跟不上系统需求。
这里分两个命令,一个看整体,一个看细节:
1. 整体磁盘IO:iostat
先安装(yum install sysstat / apt install sysstat),输入命令:iostat -x 1 (-x显示详细信息,1表示每1秒刷新一次)
重点看%util(磁盘使用率):如果%util长期接近100%,说明磁盘一直在满负荷工作,读写速度跟不上,卡顿就是磁盘导致的(比如日志写入太频繁、磁盘老化)。
2. 具体进程IO:iotop
同样需要安装(yum install iotop / apt install iotop),输入iotop后,按“O”键(大写),会按IO占用率从高到低排序,能直接找到“吃磁盘IO”的进程(比如频繁写入日志的应用、大量复制文件的进程)。
解决办法:临时终止高IO进程;长期优化则需要清理日志、迁移大文件,或者更换更快的磁盘(比如机械硬盘换固态硬盘)。

第五步:排查磁盘空间——df -h

最后一步,也是最容易被忽略的一步:磁盘空间满了!

如果磁盘被占满,系统无法写入任何文件(包括日志、临时文件),不仅会卡顿,还可能导致服务崩溃、无法登录,一定要重点检查。
命令:df -h
输入后会显示所有磁盘分区的使用情况,重点看%Use(磁盘使用率):
如果某个分区的使用率达到90%以上,就需要及时清理;如果达到100%,必须立即清理(优先删日志、临时文件、无用备份)。
遇到Linux系统卡顿,不用慌,按下面的步骤来,快速定位问题,高效解决:

  1. 用 uptime 看整体负载,判断是否真过载;
  2. 用 top/htop 查CPU,找到“吃资源”进程;
  3. 用 free -h 查内存/swap,看是否内存不足;
  4. 用 iostat、iotop 查磁盘IO,排查磁盘读写问题;
  5. 用 df -h 查磁盘空间,避免磁盘满导致卡顿。


打赏

本文链接:https://www.kinber.cn/post/6678.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客