整理一份服务器问题排查常用命令,新手向

整理一份服务器问题排查常用命令,新手向
整理一份服务器问题排查常用命令,新手向

最近帮朋友排查 VPS / 小服务问题时,发现很多时候不是问题复杂,而是第一眼不知道该看哪里。整理一份我自己常用的排查命令,新手可以先收藏,真出事时按顺序扫一遍。

1. 先看机器是不是快满了

# 磁盘剩余空间
df -h

# 当前目录下谁占空间最多
du -sh * | sort -h

# 内存使用情况
free -h

磁盘满了会引发很多奇怪问题:日志写不进去、数据库启动失败、构建失败、服务莫名 500。

2. 看进程和资源占用

# 实时看 CPU / 内存
top

# 按内存占用排序
ps aux --sort=-%mem | head

# 按 CPU 占用排序
ps aux --sort=-%cpu | head

如果是小机器,先看是不是某个进程把内存吃完了。很多服务本身没坏,只是被 OOM 或卡住了。

3. 看端口有没有监听

# 查看监听端口和对应进程
ss -tulpn

# 只看某个端口,例如 80
ss -tulpn | grep ':80'

访问不了服务时,我一般先确认三件事:服务是否启动、端口是否监听、防火墙或安全组是否放行。

4. 看 systemd 服务日志

# 看服务状态
systemctl status nginx

# 看最近 100 行日志
journalctl -u nginx -n 100 --no-pager

# 实时跟日志
journalctl -u nginx -f

nginx 换成自己的服务名即可。大多数启动失败、配置错误、权限错误都能从这里看到线索。

5. 网络连通性

# 测基础连通
ping 1.1.1.1

# 看 HTTP 响应头
curl -I https://example.com

# 看 DNS 解析
nslookup example.com

如果 IP 能 ping 通但域名不行,优先怀疑 DNS;如果本机 curl 正常但外部访问不了,优先查防火墙、安全组、反代配置。

6. 登录和安全简单检查

# 最近登录记录
last

# 登录失败记录,部分系统可能没有权限或路径不同
lastb

# Ubuntu/Debian 常见 SSH 日志
journalctl -u ssh -n 100 --no-pager

公网机器建议关闭密码登录、改用密钥、限制 root 直登,再配合 fail2ban 或云厂商安全组做基础防护。

我自己的排查顺序

  1. df -h 看磁盘是不是满了。
  2. free -htop 看资源是不是打满。
  3. systemctl status 看服务是否真的在跑。
  4. journalctl -u 服务名 -n 100 看最近错误。
  5. ss -tulpn 看端口是否监听。
  6. curl -I 从本机和外部各测一次。

这套不高级,但够实用。很多问题先按这个流程走一遍,基本能把范围缩到服务、网络、配置、资源这几类里。

佬友们如果有更顺手的排查命令,也欢迎补充,我也想抄作业。

2 个帖子 - 2 位参与者

阅读完整话题

来源: LinuxDo 最新话题查看原文