Linux 服务器排障常用命令清单:CPU、内存、磁盘、端口一把查

举报
yd_281047095 发表于 2026/10/30 11:17:03 2026/10/30
【摘要】 服务器一出问题,最怕的是不知道从哪查起。下面按“先看整体、再定位进程、最后查日志”的顺序,整理了一套我自己常用的排障命令,基本覆盖八成的日常问题。 一、先看整体负载uptime:看 1、5、15 分钟的平均负载。负载长期高于 CPU 核数,说明机器忙不过来。top / htop:实时查看 CPU、内存占用最高的进程。在 top 里按 P 按 CPU 排序,按 M 按内存排序。nproc:查看...

服务器一出问题,最怕的是不知道从哪查起。下面按“先看整体、再定位进程、最后查日志”的顺序,整理了一套我自己常用的排障命令,基本覆盖八成的日常问题。

一、先看整体负载

  • uptime:看 1、5、15 分钟的平均负载。负载长期高于 CPU 核数,说明机器忙不过来。
  • top / htop:实时查看 CPU、内存占用最高的进程。在 top 里按 P 按 CPU 排序,按 M 按内存排序。
  • nproc:查看 CPU 核数,用来和负载对比。

二、内存够不够

  • free -h:重点看 available 一列,它才是真正还能用的内存。
  • vmstat 1 5:每秒刷新一次,si、so 不为 0 说明在频繁用交换分区,内存吃紧。
  • dmesg -T | grep -i oom:查看有没有进程被 OOM Killer 杀掉。

三、磁盘满没满

  • df -h:查看各分区使用率,超过 90% 就要清理了。
  • df -i:查看 inode 使用率。小文件太多时,空间没满也会写不进去。
  • du -sh /var/* | sort -rh | head:找出目录里最占空间的子目录。
  • lsof +L1:找出已删除但仍被进程占用的文件,这类文件不释放空间,常见于日志文件。

四、端口和网络

  • ss -lntp:查看正在监听的 TCP 端口和对应进程,比 netstat 更快。
  • ss -s:连接数汇总,排查连接数暴涨很有用。
  • curl -I http://127.0.0.1:端口:本机先测服务通不通,区分是服务问题还是网络/防火墙问题。
  • ping、traceroute、mtr:排查外网连通性和丢包位置。

五、定位到具体进程

  • ps aux --sort=-%cpu | head:CPU 占用前几名。
  • ps aux --sort=-%mem | head:内存占用前几名。
  • lsof -p PID:查看某个进程打开了哪些文件和连接。
  • strace -p PID:查看进程卡在哪个系统调用上(谨慎在生产环境长时间使用)。

六、最后看日志

  • journalctl -u 服务名 -n 100 --no-pager:查看 systemd 服务最近 100 行日志。
  • journalctl -p err -b:只看本次开机以来的错误级别日志。
  • tail -f /var/log/xxx.log:实时跟踪日志输出。
  • grep -i error 日志文件 | tail:快速找最近的报错。

小结

排障的顺序可以记成一句话:先整体(uptime、top),再资源(free、df、ss),然后进程(ps、lsof),最后日志(journalctl)。按这个顺序走一遍,大多数问题都能很快找到方向。在华为云 ECS 上同样适用,配合云监控的历史曲线一起看效果更好。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。