top 是开服玩家第一个接触的命令,也是最被低估的命令——90% 的人只会看「内存用百分之几」,然后得出「机器够不够」的结论。这篇讲 top 的高级读法:哪些指标决定游戏服卡顿、交互命令怎么用、以及为什么 load average 比内存百分比更值得看。
本文基于 财富云计算 NAT 型云服务器(无独立公网 IP、价格比独立 IP 机型省一半以上)的运维实践。文中所有交互命令在 top 界面内直接按键盘输入。
一、top 界面:五个区,重点看三个
top - 10:23:45 up 5 days, 3 users, load average: 1.25, 0.98, 0.87
Tasks: 120 total, 1 running, 119 sleeping, 0 stopped, 0 zombie
%Cpu(s): 12.3 us, 3.1 sy, 0.0 ni, 84.2 id, 0.3 wa, 0.0 hi, 0.1 si, 0.0 st
MiB Mem : 15892.2 total, 8231.4 free, 5102.8 used, 2558.0 buff/cache
MiB Swap: 4096.0 total, 1024.0 free, 3072.0 used. 6501.4 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1234 gameserv 20 0 9231m 6142m 1240m S 85.6 38.9 12:34.56 PalServer重点区 1:load average(1/5/15 分钟负载)
| 数值关系 | 含义 |
|---|---|
| load < 核数 | 健康 |
| load ≈ 核数 | 满载边缘 |
| load > 核数 × 1.5 | 过载,进程在排队 |
4 核机器 load 6.0 = 有 2 个进程在永远等 CPU——这就是「机器没满但服就是卡」的真相。load average 比 %CPU 更能说明问题:%CPU 是瞬时值,load 是排队深度。
重点区 2:%Cpu(s) 的 wa(iowait)
wa 是「CPU 等磁盘」的时间占比:
| wa | 含义 | 对策 |
|---|---|---|
| < 5% | 正常 | — |
| 5-15% | 磁盘有点吃力 | 关注 |
| > 20% | 磁盘 IO 是瓶颈 | 升级 SSD/检查存档写入 |
游戏服经典场景:玩家抱怨放建筑卡顿,一看内存 CPU 都不高,但 wa 15%——磁盘 IO 跟不上。这就是云服务器磁盘类型要讲 SSD 的原因。
重点区 3:st(steal time)
st 是「你的 CPU 时间被 Hypervisor 偷走给别的虚拟机」——超售机器的铁证。正常 < 1%,长期 > 3% 说明商家超售严重,找商家对质或迁移,测试方法见服务器性能测试与跑分。
二、进程列:%CPU 之外看什么
进程列表默认列不够用,按这几个键切换视图:
| 按键 | 效果 | 用途 |
|---|---|---|
Shift+P | 按 CPU 排序(默认) | 找吃 CPU 的进程 |
Shift+M | 按内存排序 | 找吃内存的进程 |
Shift+T | 按运行时间排序 | 找长期驻留的进程 |
1 | 展开每个核心 | 看单核瓶颈(游戏服关键) |
e / E | 切换内存单位 | KB/MB/G 循环 |
f | 自定义显示列 | 加 PPID、SWAP 等列 |
游戏服必看:单核分布
按 1 展开核心后,游戏服的典型健康形态是「一个核接近 100%,其他核闲着」——因为服务端逻辑主要在单线程。如果四个核都 60-80%,说明有多进程负载(比如同机跑了网站+数据库),考虑隔离或限额。
三、内存的正确读法:三个数字的关系
新手只看 %MEM,正确读法是三数字联动:
MiB Mem : 15892 total, 8231 free, 5102 used, 2558 buff/cache
MiB Swap: 4096 total, 1024 free, 3072 used. 6501 avail| 现象 | 诊断 | 对策 |
|---|---|---|
| free 少,buff/cache 高,Swap used ≈ 0 | 健康。Linux 把空闲内存拿来做缓存是本能,不是内存不足 | 不用管 |
| Swap used 持续增长 | 物理内存真的不够 | 加 Swap(Swap 优化)或加内存 |
| Swap used 高 + wa 高 | 内存在换页,磁盘被拖垮 | 游戏服卡顿的头号组合,立即升级内存 |
| avail 越来越小 | 可用内存在枯竭 | 找吃内存的元凶(按 Shift+M 排序) |
buff/cache 不是问题——它是 Linux 主动利用的缓存,需要时立刻还给程序。看到「内存用了 90%」就慌,是新手最常见的误判。
四、交互命令速查卡
| 命令 | 作用 |
|---|---|
k | 杀死进程(输入 PID 和信号,15 温和 / 9 强杀) |
r | renice 改优先级(给游戏服降 ni 值提优先级) |
u | 只看某个用户的进程 |
L | 搜索进程名 |
W | 保存当前视图设置(下次 top 还是这个布局) |
c | 显示完整命令路径 |
t | 切换 CPU 显示模式 |
m | 切换内存显示模式 |
? | 帮助 |
推荐布局(开服日常):按 W 前先 1(展开核心)+ Shift+M(内存排序)+ e(G 单位),存成默认视图。
五、替代与增强:什么时候不用 top
| 场景 | 更好的工具 |
|---|---|
| 一眼看总览 | htop(彩色、鼠标可点,apt 直接装) |
| 看历史趋势 | Netdata 可视化监控 |
| 长期采集告警 | Prometheus + Grafana |
| 进程挂了自动知道 | 游戏服务器监控与告警 |
| 批量看多台 | glances 或监控面板 |
定位:top 是「出问题时第一个敲的命令」,趋势和告警交给监控系统。两者不是替代关系。
六、实战:一次完整的卡顿排查
玩家说「服卡了」,按这个流程走:
# 1. 总览:load、wa、st、Swap
top
# load > 核数×1.5?→ CPU 过载,看谁在吃(Shift+P)
# wa > 20%?→ 磁盘瓶颈
# st > 3%?→ 超售,找商家
# Swap used 在涨?→ 内存不足
# 2. 定位元凶进程:按 Shift+P / Shift+M 排序
# 3. 深入单进程
# 按 1 展开核心,看是单核满还是多核分摊
# 按 c 看完整命令,确认是不是自己的服务端
# 4. 看这个进程在干什么
cat /proc/<PID>/status | grep -E 'VmRSS|Threads'
ls -l /proc/<PID>/fd | wc -l # 打开的文件描述符数量
# 5. 还看不懂,上 strace/lsof 深挖
# https://z0w.cn/wiki/process-debug-perf.html排查思路汇总见服务器资源排查实战,游戏场景特化版见开服卡顿掉线排查手册。
七、常见疑问
Q:top 里 %CPU 超过 100% 正常吗?
多核机器上,一个多线程进程可以吃掉 400%(4 核全占)。按 1 展开看单核,才知道是不是单核瓶颈。
Q:load average 三个数字看哪个?
1 分钟看当下,5 分钟看趋势,15 分钟看背景。5 分钟持续 > 核数才需要行动,瞬时高值可能是正常波动。
Q:buff/cache 能手动清吗?
能(echo 3 > /proc/sys/vm/drop_caches)但没必要——那是给「想看剩余内存图心安」的人用的,清了反而丢缓存、变慢。
结语
top 的高级读法核心是三件事:load average 看排队、wa 看磁盘、st 看商家诚信。再配上内存三数字联动(free/buff-cache/avail)和交互命令,一个 top 能回答「机器为什么卡」的 80% 的问题。剩下的 20%,交给监控和 strace。
配套阅读:Linux 性能分析三板斧、服务器资源排查实战、进程调试实战:strace / lsof / perf。
财富云计算 专注 NAT 型云服务器,无独立公网 IP、价格比独立 IP 机型省一半以上,控制台自带资源监控图表,配合本文的 top 读法,卡顿问题十分钟定位。
延伸阅读
- 网站环境怎么选:LNMP 手动 / 宝塔面板 / Docker / 云开发
- 问卷表单系统搭建:SurveyKing / Formbricks,数据自己收
- 图床搭建:Lsky Pro / Lychee,自托管图片托管方案
- 邮件列表搭建:listmonk 自托管 Newsletter,把读者握在自己手里
- 文档站点搭建:MkDocs / VuePress / Docsify,产品文档与技术手册方案
- RSS 阅读器搭建:FreshRSS 自托管,把信息流拿回自己手里
- 短链接服务搭建:Shlink 自托管,链接数据自己掌握
- 网站状态监控页搭建:Uptime Kuma,服务器挂了第一时间知道

[...]netsh advfirewall firewall add rule name="GameRange" dir=in action=allow protocol=UDP localport=26901-26903完整的 Windows 环境准备(远程桌面连接、运行库安装、SteamCMD 用法、开机自启、8 个常见坑)见:《Windows 云服务器开服通用前置教程》→ htt[...]
2026-10-18 回复