属于大家的
VPS知识分享站

VPS 超售是什么?怎么判断一台便宜 VPS 有没有超售

先说结论:VPS 超售是行业常态,几乎所有共享型产品都在超售,关键不是“有没有超”,而是“超了之后有没有影响到你”。判断方法也不神秘:看 CPU steal、内存 swap、磁盘 await 和不同时段的网络,四项里有两项持续异常,这台机器就不适合放生产。

很多人判断超售只看“几核几 G”,这恰恰是最容易被包装的部分。vCPU 是时间片,不是物理核心;内存可以 overcommit;磁盘可以 thin provisioning;带宽可以共享。下面按“超售到底是什么 → 四种检测方法 → 买前怎么问”讲清楚。

超售到底是什么

宿主机资源有限,服务商把同一份物理资源卖给多个用户,就是超售。常见的有四层:

  • CPU 超分:你买到的是 vCPU 时间片,宿主机上所有虚拟机的 vCPU 总数可以超过物理核心数。空闲时你跑得很快,邻居忙时你就得排队。
  • 内存 overcommit:宿主机分配的虚拟内存可以超过物理内存,靠 ballooning、KSM 和 swap 兜底。内存压力大时,你的进程会被换出甚至 OOM。
  • 磁盘 thin provisioning:标称磁盘共享同一组 SSD,IOPS 和吞吐按策略限速;邻居跑大 IO 时,你的延迟会抖。
  • 带宽共享:标称 100Mbps 往往是共享上行,空闲时能跑满,高峰时大家分。

这四层里,适度的 CPU 超分和带宽共享可以接受,因为它们利用的是空闲资源;持续的内存压力和磁盘 IO 争抢不能接受,因为它们会直接拖垮业务。

方法一:看 CPU steal

这是最直接的指标。Linux 里 steal 表示虚拟机想用 CPU、但物理 CPU 被宿主机或别的虚拟机占着,只能等的时间占比。

top
# 看 %Cpu(s) 行里的 st(steal)
vmstat 1 5
# 看 st 列
sar -u 1 5

判断标准:偶发 1% 到 2% 很正常;持续 5% 以上说明邻居在抢;持续 10% 以上,你的延迟敏感型业务基本没法跑。注意要在业务高峰和低谷分别看,只看某一分钟没有意义。

CPU 芯片被切成多个发光时间片由容器共享
vCPU 是时间片,不是物理核心;steal 就是排队等待的时间。

方法二:看内存和 swap

free -m
vmstat 1 5
# 看 si/so,持续非 0 说明在换页
dmesg | grep -i -E 'oom|killed process'

如果机器没跑什么大程序,内存却长期接近满、swap 持续读写,或者 dmesg 里有 OOM 记录,说明内存被超售压到了。另一种情况是“标称 2G,实际可用 1.7G”,那是系统保留和虚拟化开销,不一定是超售,但买之前要问清楚。

方法三:看磁盘 IO

iostat -x 1 5
# 重点看 %util、await、r_await、w_await
fio --name=randrw --filename=test --size=1G --bs=4k \
  --iodepth=64 --ioengine=libaio --direct=1 --rw=randrw --rwmixread=75

SSD 上 await 长期高于 20ms、%util 贴着 100%,说明 IO 已经在排队。更隐蔽的是“平时很快、整点很慢”,那是邻居的备份或跑批任务。测 IO 要测三次:下午、晚高峰、凌晨,看方差比看单次数值更有用。

磁盘盘片上排着等待处理的请求队列
SSD 上 await 长期高于 20ms,说明 IO 已经在排队。

方法四:看网络

iperf3 -c 对端IP -t 30 -P 4
ping -c 100 对端IP
mtr -rwc 100 对端IP

标称 100Mbps 的机器,凌晨能跑到 95Mbps、晚高峰只有 40Mbps,就是典型的共享带宽争抢。再看丢包和抖动:平均延迟低但 p95 很高,说明排队严重。测速要选同区域的对端,跨洲测试说明不了宿主机的问题。

多个容器竞争同一根共享网络管道
标称带宽是共享上限,晚高峰能跑到多少才是真实体验。

方法五:看性能一致性

同一个 benchmark 在不同时段跑三次,如果结果差距超过 30%,说明这台机器的性能不稳定。稳定的机器不是“跑分最高”,而是“每次跑分都差不多”。对生产来说,可预测性比峰值更重要。

哪些超售可以接受

  • CPU 空闲时能给到全额性能,高峰时 steal 不超过 5%
  • 内存不被迫 swap,没有 OOM
  • 磁盘 IOPS 有明确上限,延迟稳定,不长时间排队
  • 带宽是共享的,但标称值和实际值差距在可解释范围内

反过来,持续 steal、频繁 swap、IO 延迟抖动、晚高峰带宽腰斩,这四种出现任何一种,都不适合放数据库、API 网关、实时业务。

买前怎么问、怎么选

  1. 问 CPU 型号和代际,不要只问核数。同样是 4 核,几代之前的 Xeon 和新的 EPYC 差很多。
  2. 问 vCPU 是独享还是共享,有没有 CPU 占用上限或积分制。
  3. 问内存是否可突发、是否保证,磁盘是本地 SSD 还是网络存储,IOPS 上限多少。
  4. 问带宽是独享还是共享,超流量怎么计费,晚高峰有没有保证。
  5. 用退款窗口做验收:部署真实业务,跑 3 天,按上面的四项指标记录。

如果预算敏感,可以先按小时开一台测试,确认性能稳定再转长期。萤光云香港 CN2 VPS 支持按小时计费,适合先做 3 天稳定性验收。

常见问题 FAQ

Q1:超售一定是坏事吗?

不是。适度超售能让价格降下来,只要不影响你的实际性能。关键是可预测,而不是绝对不超。

Q2:steal 多少算正常?

偶发 1% 到 2% 正常,持续 5% 以上要警惕,10% 以上不适合延迟敏感业务。看持续时间和高峰时段。

Q3:跑分高就代表不超售吗?

不代表。跑分只反映那一刻的资源情况。要看不同时段的三次结果是否稳定,以及 steal、IO 等待这些过程指标。

Q4:便宜 VPS 一定超售吗?

大概率有超售,但便宜不等于不能用。轻量站点、测试环境、离线任务对抖动不敏感,性价比可能很高;数据库和实时业务要更谨慎。

Q5:怎么快速判断一台机器能不能放生产?

部署真实业务,观察 72 小时:steal、swap、IO await、晚高峰带宽。四项都稳定,再考虑长期。

参考来源

总结

判断 VPS 超售,别只看核数和价格。看 steal、swap、IO await、不同时段带宽,再跑三次一致性测试。适度的超售可以接受,持续的资源争抢不能。买之前问清楚,买之后用真实业务验收 72 小时,比任何评测都可靠。

需要一台机器做 3 天稳定性验收,可以按小时开一台萤光云香港 CN2 VPS,测完再决定是否转长期。

相关推荐

赞(0)
未经允许不得转载:VPS知识分享站 » VPS 超售是什么?怎么判断一台便宜 VPS 有没有超售