1. 首页
  2. 面试专题
  3. 文章列表
多家公司 后端开发 Linux 排查 2026-06-14

Linux 排查面试怎么讲:处理器、内存、日志和端口从哪里看

Linux 排查题不是背命令清单,而是根据现象一步步缩小范围,找到进程、线程、日志和资源瓶颈。

后端面试里经常会问 Linux 排查。低分回答是背一串命令,高分回答是先讲现象,再讲排查路径。面试官可能问:线上服务突然变慢,你怎么查?处理器负载,也就是常说的 CPU 使用率,突然飙高怎么定位?端口被占用怎么办?日志太多怎么找关键错误?

这些问题考的是你是否具备基本线上生存能力。

先判断是哪个资源异常

服务变慢不一定是处理器问题。可能是处理器负载高、内存不足、磁盘满、网络慢、数据库慢、下游接口慢。排查时先看整体资源,再定位具体进程。比如看负载、处理器使用、内存、磁盘空间和网络连接情况。

面试里不需要机械背命令,可以讲思路:先确认机器有没有资源瓶颈,再看具体进程,再结合应用日志和监控判断业务原因。

处理器负载高要定位到线程和代码

如果是 Java 服务处理器负载高,可以先找到占用高的进程,再看进程里哪些线程占用高,最后结合线程堆栈定位代码。常见原因包括死循环、频繁计算、大量序列化、日志过多、锁竞争或垃圾回收频繁。

只说“重启服务”不是排查。重启可能临时恢复,但会丢失现场。面试里可以说:紧急恢复和保留现场要平衡,能先保留线程堆栈和日志,再根据影响范围决定是否重启。

内存和磁盘要看趋势

内存上涨要看是短时间峰值还是持续增长。持续增长可能是缓存无限扩大、对象未释放、批量任务一次加载太多数据。磁盘满则可能是日志没有切割、临时文件堆积、上传文件未清理。

日志排查要会按时间、错误关键字、请求标识和业务单号过滤。真实项目里,能通过一次请求的标识串起网关、应用和下游日志,会比单纯会看文件更有价值。

一段项目表达

可以这样说:遇到服务变慢,我会先看机器资源和应用监控,确认是处理器负载、内存、磁盘还是外部依赖。处理器负载高时定位到进程和线程,再看线程堆栈;内存上涨时看堆使用趋势和最近发布变更;日志按时间和请求标识过滤。排查过程中先保留现场,再决定扩容、降级、回滚或重启。

Linux 排查面试不是命令背诵,而是排查顺序和现场意识。

命令背后要回答的问题

Linux 排查不是把 top、ps、netstat、tail 背一遍。每个命令都应该服务一个判断:是不是资源瓶颈、瓶颈在哪个进程、是否和某次发布或流量变化有关、有没有用户正在受影响。

是 CPU 还是等待:可看的线索是load、CPU 使用率、线程状态,继续追问是哪个线程在忙,回答亮点是能定位到线程栈和代码段。是内存泄漏还是流量增长:可看的线索是内存曲线、GC、对象增长,继续追问是否持续不可回落,回答亮点是区分正常缓存和泄漏。

  • 是端口或连接问题:可看的线索是监听端口、连接状态,继续追问是否连接耗尽,回答亮点是关联连接池和下游超时。
  • 日志怎么找:可看的线索是时间、请求标识、错误码,继续追问是否能串起链路,回答亮点是不只搜索 error。

面试里可以少背命令名,多讲“我用这些信息做什么判断”。这会显得更像真实排查,而不是临时记了一串 Linux 工具。