同一台 VPS,刚买时飞快,用一阵子越来越卡;跑分软件测出来数据漂亮,实际用起来却拉胯;一到晚上八九点就卡成 PPT——如果你中了一条,很可能是遇到了超售(overselling)。
超售说白了就是:商家把一台物理机的 CPU、内存、磁盘 IO、带宽,超额卖给多个用户。平时大家错开用还好,一旦同时高负载,就开始抢资源,你的机器就卡。便宜 VPS 尤其常见——毕竟 $10/年的机器,商家总要靠超售把成本摊平。
这篇不空谈,给你一套能自己在服务器上跑完的检测流程:从 CPU、磁盘、网络到晚高峰对比,每一步都有命令、有判断标准。所有数据都是你在自己的机器上跑出来的,不依赖任何人的”实测结论”——因为超售是动态的,别人的机器不卡不代表你的不卡,只有你自己测才准。
先说清楚:本站是做搬瓦工导购的,文内搬瓦工链接是联盟链接(bwh88.net 官方-aff=71166),你通过它下单价格不变,我们拿一点佣金。这篇讲的是通用检测方法,对任何商家都适用,包括搬瓦工——该教的排查手段照教。
先说结论(30 秒版)
| 检测项 | 命令 | 危险信号 |
|---|---|---|
| CPU 被抢占 | top 看 %st(steal) |
steal 持续 > 5%~10%,说明宿主机在抢你的 CPU |
| CPU 算力 | sysbench cpu run |
同配置跑分明显低于社区参考值 |
| 磁盘读写 | fio / dd |
顺序写远低于标称、4K 随机 IOPS 极低 |
| 磁盘延迟 | ioping |
单次 IO 延迟高且抖动大 |
| 网络质量 | mtr |
晚高峰丢包率高、延迟大幅跳升 |
| 综合体检 | yabs / bench.sh |
一键跑分,和同档位机器横向对比 |
一句话:超售最直接的信号是 CPU steal time 持续偏高 + 晚高峰资源断崖式下降。单看跑分没用,要在不同时段(尤其 20:00~23:00)多测几次做对比。
一、先搞懂:超售超的是哪些资源
VPS 是虚拟化的产物,一台物理宿主机切成很多份卖。商家能超售的资源主要有四类,表现各不相同:
| 资源 | 超售方式 | 你感受到的症状 |
|---|---|---|
| CPU | 多个 VPS 共享物理核,超配 vCPU 数量 | 高负载时变慢、CPU steal 高、编译/跑分掉速 |
| 内存 | 超配内存 + 依赖 KSM/swap | OOM 被杀、频繁 swap、卡顿 |
| 磁盘 IO | 多 VPS 共享同一组盘 | 读写慢、IO 延迟高、数据库卡 |
| 带宽 | 共享端口、超售流量 | 晚高峰网速骤降、丢包 |
CPU 和磁盘 IO 是最常被超售、也最容易检测的两项。下面按资源逐项给你命令。
二、CPU 检测:steal time 是照妖镜
第一步:看 CPU steal(被宿主机抢走的时间)
top
# 或者更直观地持续观察
vmstat 1 10
在 top 的 CPU 行里找 %st(steal),或 vmstat 输出的 st 列。steal 表示”你的 vCPU 想运行,但宿主机把物理 CPU 分给了别人”的时间占比。
- 正常:steal ≈ 0%,偶尔 1%~2% 可接受
- 警惕:steal 持续 5%~10%
- 明显超售:steal 长期 > 10%,尤其你自己并没有跑满 CPU 时
关键判断:如果你自己的负载很低(%us + %sy 不高),但 steal 却很高,那基本可以确定是宿主机在超售 CPU——物理核被别人占满了,你排队等。
第二步:测 CPU 单核算力
# 装 sysbench(Debian/Ubuntu)
apt install -y sysbench
# 单核跑分
sysbench cpu --cpu-max-prime=20000 --threads=1 run
# 多核跑分
sysbench cpu --cpu-max-prime=20000 --threads=$(nproc) run
看输出的 events per second。同一个 CPU 型号、同样线程数,你的跑分如果明显低于社区里同档位机器的常见值,说明要么被限速、要么在争抢。多跑几次、不同时段跑,如果晚高峰掉得厉害,就是超售实锤。
> 搬瓦工的 CPU 是有 Fair Share Policy(公平使用政策)限额的——它不是”超售”,而是明规则的 CPU 配额限制,长时间高占用会被降速。这和恶意超售不同,是写在条款里的。详见搬瓦工 CPU 限制详解:Fair Share Policy 各套餐限额表。检测前先搞清楚你用的是哪种,别把规则内的限速误判成超售。
三、磁盘 IO 检测:fio 比 dd 靠谱
快速测(dd,粗测顺序写)
dd if=/dev/zero of=test bs=1M count=1024 conv=fdatasync
看输出的写入速度。SSD 正常应在几百 MB/s,NVMe 上 GB/s。如果标称 SSD 却只有几十 MB/s,要么超售、要么盘有问题。(dd 只能测顺序写,不够全面,下面用 fio 补。)
认真测(fio,测随机 IOPS 和延迟)
apt install -y fio
# 4K 随机读写(最能反映数据库/日常应用体感)
fio --name=rand --rw=randrw --rwmixread=75 --bs=4k \
--size=256M --numjobs=1 --runtime=60 --group_reporting
重点看:
- IOPS:4K 随机读写的每秒操作数,SSD 通常上千到上万,机械盘只有一两百
- lat(延迟):平均延迟应在毫秒级,如果几十毫秒甚至更高,说明 IO 在排队
测延迟抖动(ioping)
apt install -y ioping
ioping -c 20 .
看延迟是否稳定。超售的盘,延迟抖动会很大——因为你的 IO 请求要和邻居的抢磁盘队列。
四、网络检测:mtr 盯晚高峰
网络超售的表现是”平时好好的,晚高峰崩”。所以测网络一定要在高峰时段测(大陆方向 20:00~23:00)。
apt install -y mtr
# 持续探测到你目标(比如你自己的本地网络或常用服务)
mtr -rwzbc 100 <目标IP或域名>
看每一跳的 Loss%(丢包)和 Snt/Avg(延迟):
- 末几跳丢包:可能是中间骨干拥塞,未必是商家问题
- 第一跳(你的宿主机网关)就丢包/高延迟:大概率是本机所在宿主机或机房带宽被超售
- 晚高峰 vs 凌晨对比:延迟和丢包断崖式恶化,是带宽超售的典型特征
配合 speedtest-cli 测实际带宽,看能不能跑到标称的端口速率:
apt install -y speedtest-cli
speedtest-cli
五、一键综合体检:yabs
不想逐项敲命令,用社区公认的 yabs(Yet Another Bench Script)一键跑全套:
curl -sL yabs.sh | bash
它会一次性测:系统信息、磁盘 fio、网络 speedtest(多个节点)、CPU Geekbench 跑分。把结果和社区里同档位、同商家的机器横向对比,如果你的各项数据系统性偏低,超售嫌疑就很大。
> 诚实提示:本文给的是检测方法和判断标准,具体数值请以你在自己机器上跑出来的为准。跑分受机器型号、时段、邻居负载影响很大,任何”某商家超售多少”的静态结论都会过时,自己测才靠谱。yabs/bench.sh 这类脚本运行时会占满资源,别在生产高峰期跑,也别在别人的机器上乱跑。
六、怎么区分”正常波动”和”恶意超售”
不是所有卡顿都是超售。判断前先排除这几个正常因素:
| 现象 | 可能是正常 | 可能是超售 |
|---|---|---|
| 偶尔慢一下 | 邻居瞬时高峰、网络抖动 | 持续性、规律性晚高峰崩 |
| CPU 掉速 | 触碰 Fair Share 限额(规则内) | 自己没跑满但 steal 高 |
| 磁盘慢 | 用了机械盘/低配档 | 标称 SSD 却只有几十 MB/s |
| 跑分低 | 本来就是便宜低配档 | 同档位明显低于社区参考 |
超售的核心特征是”资源与标称不符 + 时段相关性强”。 你付的是 SSD 的钱拿到机械盘的速度、你付的是独享的钱拿到共享的体感,且高峰期断崖式下降——这才是超售。单纯的”便宜机器性能一般”不算超售,那是价格对应的正常水平。
七、发现被超售了怎么办
1. 先留证据:把 top(steal)、fio、mtr 晚高峰、yabs 的输出都截图/存档,多时段各测一份,形成对比。
2. 提工单:把证据甩给商家客服,问是不是宿主机超配。正规商家会帮你迁移到负载低的宿主机。
3. 要求换机房/换宿主机:同一商家不同机房、不同宿主机的负载天差地别,换一台往往立竿见影。
4. 搬瓦工可以换 IP / 重装机:如果是特定宿主机问题,重装或联系换节点。
5. 实在不行走退款:搬瓦工有 30 天退款窗口(退款全流程见此),新商家买前更要用月付试水降低风险。
6. 换商家:长期超售且客服敷衍的,别恋战,换一家口碑稳的。迁移别丢数据,参考VPS 迁移完整 SOP。
预防永远比事后维权省事:第一次用一家商家先月付试水,用上面的流程在晚高峰测一轮,确认不超售再年付锁定。 选购阶段的避坑思路见VPS 选购指南 2026。
常见问题 FAQ
Q1:怎么最快判断一台 VPS 有没有超售?
一条命令看 CPU steal:top 里的 %st。如果你自己没跑满 CPU,steal 却持续高于 5%~10%,基本就是宿主机在超售 CPU。再配合晚高峰跑一次 yabs,和同档位机器对比,就能定性。
Q2:跑分很高但实际用起来卡,正常吗?
不正常,这是超售的典型信号。跑分是瞬时满载测试,超售机器在”没人抢”的瞬间能跑出漂亮数字,但你真实使用时和邻居一起抢资源就卡。所以别信单次跑分,要在晚高峰多测、测 steal、测延迟抖动。
Q3:CPU steal 多高算超售?
没有绝对线,但经验值:持续 0~2% 正常,5%~10% 警惕,长期 >10%(尤其你自己负载不高时)基本可判定超售。关键是”自己没怎么用 CPU 却 steal 高”,这才说明是被别人抢了。
Q4:便宜 VPS 是不是都超售?
便宜的机器($10~20/年)为了摊平成本,普遍有一定程度的资源共享,这不等于”恶意超售”。判断标准是”是否与你付的钱和标称配置相符”——付了独享的钱拿共享的体感、标称 SSD 拿到机械盘速度,才是问题。合理价位的合理性能不算超售。
Q5:dd 测速准吗?
不够准。dd 只测顺序写,掩盖了随机 IO 和延迟问题,容易被缓存美化。认真测用 fio(测 4K 随机 IOPS 和延迟)+ ioping(测延迟抖动),这两个更能反映真实体感。
Q6:晚高峰卡但白天不卡,是超售吗?
很可能是带宽或 CPU 超售。超售的症状有强时段相关性——白天大家错开用不卡,晚上 20:00~23:00 一起用就抢资源。用 mtr 对比晚高峰和凌晨的丢包/延迟,断崖式恶化就是超售实锤。
Q7:搬瓦工会超售吗?
搬瓦工对 CPU 用的是明规则的 Fair Share Policy(公平使用配额),长时间高占用会被降速,这是写在条款里的限速,不是偷偷超售。整体口碑在稳定性上属于第一梯队。但任何商家都建议第一次用先月付、用本文流程自测一轮再决定年付。
Q8:yabs 和 bench.sh 有什么区别?
都是社区的一键跑分脚本。yabs(Yet Another Bench Script)更现代,用 fio 测磁盘、Geekbench 测 CPU、多节点测网络,输出规整便于对比;bench.sh 更老牌轻量。两者都能在几十分钟内跑完,注意运行时会占满资源,避开生产高峰。
延伸阅读
- 搬瓦工 CPU 限制详解:Fair Share Policy 各套餐限额表与超限应对
- VPS 的 IP 干不干净怎么看:一套能自己跑完的检查流程
- VPS 选购指南 2026:从入门到精通
- 换商家不丢数据:VPS 迁移完整 SOP
- 搬瓦工怎么付款和退款?支付宝支持情况与 30 天退款全流程
- RackNerd 深度测评 2026:$10.6/年的 VPS 到底能不能用
- VPS 月付还是年付?把搬瓦工真实档位的价格差算给你看
联盟披露:本文含搬瓦工联盟推广链接(bwh88.net,aff=71166)。通过链接购买价格不变,我们获得少量佣金,用于维持站点测评开销。所有推荐结论不受佣金影响。本文提供的是通用检测方法,对所有商家一视同仁,不对任何具体商家做”超售”定性——是否超售请以你在自己机器上的检测证据为准。搬瓦工 CPU 的 Fair Share 限速属条款内规则,与恶意超售不同。