诊断命令
SysAdmin Crisis 的十条诊断命令中,九条不花任何代价、即时响应,hint 则要扣分。它们合起来构成排查过程。
最后更新:
诊断免费且即时。运行它们没有预算成本,没有时间成本,也不扣分——这意味着永远没有理由凭猜测行动。
| 命令 | 提供的信息 |
|---|---|
status | 服务器群概览:每台服务器、其状态以及全局指标 |
top | 某台主机的进程列表,按 CPU 和 RAM 排序 |
logs | 某台主机的最近日志行;-f 实时跟随 |
netstat | 连接概要以及每个来源地址的请求速率 |
df | 每个挂载点的磁盘用量 |
db_stat | 数据库状态:活动查询、锁和等待时间 |
ping | 主机是否应答,以及耗时多久 |
man | 单条命令的手册页 |
help | 所有可用命令 |
hint | 针对当前事件的提示 |
哪条命令回答哪个问题
服务器群的大多数故障模式都对应一项指标,而每项指标都只有一条命令看得到:
- 到底有没有问题?——
status。它是唯一能一次显示整个服务器群的命令,通常也是正确的第一步。 - 是哪个进程?——
top,附主机参数。进程名、PID、CPU 和 RAM 占比。进程在这里不再是无名之辈。 - 谁在连接?——
netstat。每个来源地址的请求速率,地址正是借此从一行日志变成一个目标。 - 问题出在磁盘吗?——
df。每个挂载点一行,一条命令就能把整个类别纳入或排除。 - 数据库在等待吗?——
db_stat。查看锁和查询等待时间的唯一途径;游戏中没有别的东西看得到它们。 - 那台主机还活着吗?——
ping。以毫秒计的延迟,或者超时。
hint 是例外
hint 扣的是 15 分,而不是预算。它是唯一有代价的诊断命令,在困难难度下完全禁用,在教程中免费。
先读后打
这里没有任何命令会改变世界。事件正在升级时,列表中的每条诊断命令都可以连着运行,除了秒数之外不付出任何代价——而秒数才是真正的货币,因为速度加分从事件出现的那一刻起就开始衰减。