服务器故障排查必备命令:5分钟定位问题的“侦探工具包”

林婉秋

服务器突然“罢工”的场景,每个技术人都不陌生:网页加载超时、应用接口无响应、数据库连接失败……想要快速“破案”,一套好用的命令行工具就是你的“侦探手册”。今天就来盘点那些能帮你秒定位故障的核心命令,让你告别“抓瞎”式排查。

首先是资源占用排查的“黄金组合”:tophtoptop是系统自带的基础工具,执行后能实时显示CPU、内存、swap的使用情况,以及各进程的资源占用排序——如果某个进程CPU使用率长期飙到100%,或是内存占满,那它大概率就是“元凶”。而htop则是top的“增强版”,界面更直观,支持鼠标操作和颜色区分,新手也能一眼看懂。

其次是磁盘空间排查的必备命令:df -hdu -sh。很多服务器故障都源于“磁盘满了”——执行df -h就能以人类可读的格式(GB/MB)显示各磁盘分区的使用量,一旦发现某个分区使用率接近100%,问题就找到了一半。如果想进一步定位是哪个文件或目录“吃”了太多空间,就用du -sh /path/to/directory,它能快速算出指定目录的总大小,帮你揪出“大胃王”文件(比如日志文件或临时备份)。

服务器故障排查必备命令:5分钟定位问题的“侦探工具包”

网络问题是另一个重灾区,这时候网络连接排查命令就派上用场了:netstat -tulpn(或ss -tulpn)、pingtraceroutenetstat -tulpn可以列出所有正在监听的端口和对应的进程——比如你部署了Nginx却打不开网页,执行这个命令如果没看到80或443端口,说明Nginx没启动。ping用来测试服务器与外部的连通性,traceroute则能追踪数据包的传输路径,帮你找出“卡脖子”的路由节点。

最后别忘了系统日志这个“黑匣子”journalctltail -fjournalctl -u 服务名.service(比如journalctl -u nginx.service)能查看指定服务的启动日志,轻松找到服务崩溃的原因;而tail -f /var/log/messagestail -f /var/log/nginx/error.log则可以实时监控日志输出,当故障发生时,最新的错误信息会立刻显示在屏幕上。

这些命令不是孤立的“零件”,而是一套完整的“排查逻辑”:先通过top看资源瓶颈,再用df查磁盘状态,接着用网络命令确认连接,最后翻日志找具体错误。熟练掌握它们,下次服务器出问题时,你就能在5分钟内快速定位根源,让服务恢复正常。

文章版权声明:除非注明,否则均为婉秋博客原创文章,转载或复制请以超链接形式并注明出处。

目录[+]