Linux 服务器变慢了怎么办?一个新手也能上手的排查思路
https://developer.huaweicloud.com/grow
服务器突然变慢,很多新手第一反应是重启。其实花五分钟按下面的顺序查一遍,大部分问题都能定位。
一、先看整体负载:top
登录后先敲 top,重点看三个数:
load average:三个数字分别是 1 分钟、5 分钟、15 分钟的平均负载。经验上不超过 CPU 核心数就还好,比如 4 核机器长期高于 4 就要警惕。
%CPU 和 %MEM 排名:按大写 P 按 CPU 排序,按大写 M 按内存排序,看是谁在吃资源。
二、CPU 高:查进程在干嘛
找到可疑 PID 后,用 top -Hp <pid> 看它内部哪个线程最忙;如果是 Java/Python 这类程序,结合日志基本能定位到具体功能。iostat -x 1 还能看是否是 IO 等待(%util 接近 100% 说明磁盘成瓶颈)。
三、内存紧张:看谁占着不放
free -h 先看整体。注意 available 才是真正可用的,别被"used 很高"吓到——Linux 会把空闲内存拿来做缓存。如果 available 很低且 swap 在涨,说明内存真的不够了,这时配合 ps aux --sort=-%mem 找大户。
四、磁盘满了:du 配合 find
df -h 看哪个分区满了,然后 du -sh /var/* 之类的命令一层层往下钻。日志文件是常见元凶,/var/log 下的旧日志可以用 logrotate 管起来,或者直接 truncate 截断正在写的大文件(别直接 rm,空间不会立刻释放)。
五、网络问题:先看连接数
ss -s 能看到 TCP 连接总数和各状态数量。TIME_WAIT 特别多通常是短连接太频繁;用 ss -tnp 看具体是谁发起的。
六、养成两个习惯
改动前记录:改配置前先备份,命令历史别乱清。
用监控兜底:装个 node_exporter 或者最简单的定时脚本记录 load 和磁盘,出问题时手里有曲线可比对。
总结一句:排查顺序是"负载 → CPU/内存/磁盘/网络逐项确认 → 定位进程 → 看日志"。顺序对了,就不会乱枪打鸟。
- 点赞
- 收藏
- 关注作者
评论(0)