SSD Nodes Learn Hosting plans →
指南 Matt Connor作者: Matt Connor · 更新于 2026-09-19

VPS是什么?虚拟专用服务器通俗解释

VPS是在一台实体服务器上由虚拟化管理程序划分出的独立机器,拥有独立内存、磁盘、IP和root权限。了解它能做什么,以及共享资源和内核限制。

VPS 是什么?

VPS(虚拟专用服务器)是数据中心一台实体计算机中的一部分。您租用它时,可以像使用自己的整台机器一样使用这部分资源。该计算机上的软件会将它划分为多个相互独立的服务器,您获得其中一个:独立的内存、独立的磁盘、独立的 IP 地址,以及允许您安装任意软件的 root 登录权限。它会持续运行,并通过公网地址在互联网中响应请求。

拆开这 3 个词,产品的含义就很清楚了。服务器 是一台持续运行并通过网络响应请求的计算机。虚拟 表示它由软件创建。您的服务器是更大型实体计算机上的一个分区。专用 表示这个分区只属于您。租用您旁边分区的用户看不到您的文件和正在运行的程序。

如果您以前从未在任何设备上拥有过 root 权限,最后一点最重要。VPS 是第一种让您成为服务器管理员的托管服务。没有任何内容会替您预先配置,也没有任何内容会限制您的操作。

虚拟化管理程序如何划分资源,以及哪些资源会共享

负责执行划分的程序称为虚拟化管理程序(hypervisor)。它运行在物理机器上,该机器称为主机。虚拟化管理程序会为每个客户提供一组虚拟硬件:处理器、内存块、磁盘和网卡。操作系统安装在这些虚拟硬件上,并像拥有一台真实计算机一样启动。这个客户机系统就是您的 VPS。KVM(基于内核的虚拟机)是 Linux 主机上常用的虚拟化管理程序,Xen、VMware ESXi 和 Microsoft Hyper-V 也执行相同的工作。

内存和磁盘按空间划分。处理器按时间划分。这个差异解释了之后大多数令人意外的现象。分配给您的内存不会被其他客户机占用。您的磁盘是主机存储上的文件或逻辑卷,除非您将其删除,否则一直归您使用。您的虚拟 CPU 核心实际上是主机物理核心上的队列,虚拟化管理程序每秒执行数千次调度,决定下一个运行哪个客户机。

一条命令即可告诉您购买的是哪种虚拟化。

systemd-detect-virt
uname -r

systemd-detect-virt 在普通 VPS 上会输出 kvm,这表示完整的虚拟化管理程序已启动一个仅属于您的内核。在容器虚拟化中,它会输出 lxc、openvz 或 container。此时,您的服务器是主机自身操作系统中的隔离区域,内核与同一台主机上的其他客户共享。在裸机上,它会输出 none。这一差异会带来实际影响,因为共享内核意味着您无法更改内核。您无法加载内核模块,因此 WireGuard VPN 模块 这类内核内功能会因 Operation not supported 而失败,而 uname -r 会报告一个由服务商选择且您无法升级的版本。

这里的“虚拟”是什么意思?

因为服务器由软件构成,您付款后大约一分钟就能使用它。没人需要为您安装实体硬件。服务器根据模板镜像创建,因此重建后,几分钟内就能恢复一个干净的 Ubuntu;而在实体服务器上可能导致整个安装失败的操作,最多只会占用您一个下午。大多数服务商控制面板还支持在执行高风险操作前创建磁盘快照、重启后调整套餐规格,以及在底层宿主机需要维护时将您的虚拟机迁移到其他硬件。

价格也源于同一事实:一台实体机器可以同时由多位客户共同使用,这就是 VPS 的价格为何如此,以及它为什么比租用整台服务器便宜。

成本与优势相伴而来。底层硬件是共享的,因此邻居租户负载过高也会影响您。下面介绍限制的章节中提供了用于测量这些限制的命令。

这里的“私有”是什么意思?

私有意味着隔离。具体隔离到什么程度,需要明确说明。您拥有自己的内核、根文件系统、用户账户、进程列表、防火墙规则和 IP 地址。同一主机上的其他客户无法列出您的进程或读取您的文件,因为他们的客户机无法访问您的内存或虚拟磁盘。它们是两个彼此独立、只是共用同一电源的操作系统。不过,这种隐私隔离到主机层就结束了:运行 hypervisor 的人员可以随时读取您的客户机内存。要消除这一最后的隔离缺口,需要使用 VPS 上的机密计算中介绍的加密内存硬件。

共享主机的工作方式正好相反。您在一台为数百个其他网站提供服务的计算机上获得一个目录、一个控制面板,以及服务提供商选择安装的软件。这里没有 apt install,因为安装软件包会修改整台计算机,而整台计算机并不归您所有,您也无权修改。共享主机与 VPS 的对比详细介绍了这种取舍。概括来说:共享主机租给您一个账户,而 VPS 租给您一台计算机。

VPS 规格表逐项说明

每台 VPS 通常都以一组简短的数字出售。下面使用一个供应商常见的中端方案作为示例。这些是截至 August 2026 的典型公开参数,不代表报价。

ChartA typical mid-range VPS plan, as advertised
The data behind this chart
[
  {
    "plan": "Example mid-range VPS",
    "vcpu_cores": 4,
    "ram_gb": 16,
    "nvme_gb": 160,
    "bandwidth_tb": 8,
    "ipv4_addresses": 1
  }
]

这一行就是产品的全部信息。请从左向右读取。

4 个 vCPU。 vCPU(虚拟中央处理器)是主机处理器中的一个线程,由 hypervisor 调度给您使用。除非方案明确标注为 dedicated,否则您获得的是该线程的共享资源,而不是专用配额。在服务器内部,nproc 会输出 4,lscpu 会显示处理器型号。具体显示真实的主机 CPU,还是通用的 QEMU 型号,取决于主机的配置方式。

16 GB RAM。 内存既是固定配额,也是硬上限。对于 16 GB 的方案,free -h 显示的数值会略低于购买的容量,通常接近 15Gi。这是因为内核和多个预留内存区域会在 Linux 统计可用内存前被扣除。内存耗尽时,系统不会从主机借用内存。

160 GB NVMe。 NVMe(非易失性内存主机控制器接口规范)描述的是磁盘在主机内部的连接方式,速度远高于旧方案使用的 SATA SSD。您的配额会以虚拟磁盘的形式呈现,在 KVM 中通常是 /dev/vda。df -h / 显示的容量会略低于 160 GB,而可用空间还会更少,因为 ext4 默认会为 root 保留文件系统容量的 5%。SSD VPS 中 SSD 的实际含义和如何验证购买的磁盘对此有更深入的说明。

8 TB 流量。 这是每月传输的数据量,通常只统计出站流量。它表示数据总量,端口速率则是另一个指标,通常为 1 Gbit/s。超过流量配额后,供应商可能收费或限速,具体取决于其政策。因此,在托管视频前应先阅读这一项。sudo apt install vnstat 会通过 vnstat -m 提供您自己的统计值,统计从安装当天开始。

1 个 IPv4 地址。 只要您持续租用该服务器,这个地址就归您使用。您可以将域名指向该地址,在任意端口接收流量,通常还可以在供应商控制面板中设置其反向 DNS 记录;邮件服务器会检查该记录。非常便宜的方案有时会让多个客户共享一个地址,这种方案称为 NAT VPS。此时 ip -4 addr show 会报告类似 10.0.0.5 的私有地址,并且入站端口会受到限制。

以下 4 个命令可以确认您实际获得的资源。

nproc
free -h
df -h /
ip -4 addr show

如果其中任一项与规格表的差异超过上述舍入范围,那么在此服务器上部署任何内容前,都应提交支持工单确认。

实际使用中的 root 权限

root 是 Linux 上的管理员账户,用户 ID 为 0。以 root 身份运行 id -u 时,会看到 0。root 可以为整个系统安装软件包、打开 1024 以下的端口(内核将这些端口保留给特权进程,因此普通用户无法在端口 80 上启动 Web 服务器)、加载内核模块、替换内核、读取和修改磁盘上的任何文件,也可能因为一条疏忽的命令摧毁整个系统。没有人会替你撤销这些操作。

实际差异很简单。在共享主机上,你需要提交支持工单来请求安装软件。在 VPS 上,你只需运行下面的命令。

sudo apt update
sudo apt install -y nginx
systemctl status nginx

systemctl status nginx 应在 1 到 2 秒内输出 active (running),并且在浏览器中访问服务器的 IP 地址时,应显示 nginx 默认页面。如果状态输出 failed,请运行 journalctl -u nginx -n 50 并查看末尾几行,因为服务会记录拒绝启动的原因。常见原因是配置文件中存在拼写错误,或者其他程序已经在监听端口 80。

root 也是你的完整安全边界,而提供商会为你生成 root 密码。新服务器上的首次会话不应立即用于安装应用程序。先创建普通用户,将登录方式切换为 SSH 密钥,并在端口前配置防火墙。新 VPS 上的前 10 分钟 按顺序列出了这份检查清单,SSH 密钥基础介绍登录本身,ufw 防火墙基础介绍端口配置,最小权限用户介绍之后服务应以哪个用户身份运行。启用密码登录且未配置防火墙的服务器每天会收到数千次密码猜测尝试,你可以使用 journalctl -u ssh -f 监控这些尝试。

VPS 有哪些限制?

处理器是共享的,而且可以测量共享程度。 steal time 表示虚拟 CPU 已经可以运行,但没有获得运行时间的比例,因为虚拟机监控程序将物理 CPU 核分配给了其他客户机。

vmstat 1 5

最后一列 st 表示 steal time。在任何共享主机上,短时达到 1% 或 2% 都属于正常现象。如果在自身进程处于空闲状态时,steal time 持续达到两位数,说明主机超额分配了资源。在 VPS 内部进行任何调优都无法解决这个问题,因为等待发生在 VPS 外部。正确测试 VPS 性能介绍了如何在向服务提供商反馈前证明这一点。KVM 和 Xen 客户机都会报告 steal time。在容器虚拟化环境中,它会保持为 0,因此无法提供任何信息。

内存是固定的,而且上限会突然生效。 分配内存失败时,内核的 OOM(内存不足)终止程序会选择一个进程,并通过 SIGKILL 结束它。

sudo dmesg -T | grep -i "out of memory"

下面这一行可以解释一个原本看似毫无头绪的中断:

Out of memory: Killed process 2412 (mysqld) total-vm:2183104kB, anon-rss:1897224kB, file-rss:0kB

应用自身的日志通常完全没有记录,因为 SIGKILL 不会给进程留下写入日志的机会。原因只存在于内核日志中。许多 VPS 镜像不包含 swap 文件,这会让内存上限问题更加严重。因此,添加一个小型 swap 文件通常是首要改动。

磁盘速度快,而且是共享的。 主机上的 NVMe 磁盘速度很快,但你的磁盘份额需要与其他客户机竞争输入输出操作。低负载时段进行的基准测试,并不代表同一台机器在峰值负载下的性能。

硬件不属于你,也无法由你操作。 你不能插入任何设备。除非套餐专门提供直通,否则不能使用 USB 设备、采集卡或显卡。此类套餐属于独立且价格更高的产品:带 GPU 的 VPS。

它只有一份。 VPS 是一台独立机器。如果主机发生故障,你的服务器会一直停机,直到主机恢复;除非你自行构建故障转移,否则不会自动切换。备份由你负责,因此从 VPS 使用 restic 进行备份应列入初始化清单。服务提供商的快照很方便,但不属于备份,因为它与受保护的数据位于同一基础设施中。

支持范围止于虚拟机监控程序。 对于非托管套餐,服务提供商负责保持硬件、网络和虚拟化层正常运行。从操作系统开始向上的所有内容都由你负责,包括安全更新。托管主机与非托管主机说明了这一界限,而在 Ubuntu 上启用无人值守升级是最值得启用的基础功能。

VPS 与容易混淆的概念有何不同

虚拟机是一个通用概念,而 VPS 是它的一种商业形式:按月租用的虚拟机,已经配备操作系统、公网地址和网络。VPC(虚拟私有云)是大型云环境中的私有网络,服务器运行在其中,因此它回答的是完全不同的问题。VPS、VM 与 VPC 的区别对这 3 个术语进行了准确区分。

专用服务器是整台物理机器,不使用 hypervisor,也没有其他租户。它的月租成本高出数倍;当 steal time 或磁盘争用确实成为性能瓶颈时,专用服务器才是合适的选择。VPS 与专用服务器的区别列出了相关决策因素。

VPN(虚拟专用网络)与 VPS 只共享两个字母,其他方面没有关系。VPN 是机器之间的加密隧道。VPS 是一台机器,而运行自有 VPN 是 VPS 的常见用途之一,这正是产生混淆的原因。VPS 与 VPN 的区别说明了这两个术语的差异。

自有硬件或在家用机器上运行的 Proxmox 等 hypervisor,通常能以相同预算提供更多资源,但住宅网络连接可能会受到许多服务的限制。它还让您直接拥有宿主机,因此在Proxmox 中启用嵌套虚拟化后,guest 可以运行自己的 hypervisor;租用的 VPS 很少允许这样做。Proxmox 与 VPS 的区别比较了性能、噪声和可用性与月租费用之间的取舍。

VPS 上通常运行什么?

严格来说,只要能在 Linux 上运行的软件都可以。常见用途包括搭配数据库的网站、私有 VPN、游戏服务器、状态监控服务、邮件服务器、媒体库,或在笔记本电脑合盖后仍持续运行的编程代理。你运行的每个服务都会监听某个端口,因此下一步值得了解的是 Linux 中的端口是什么;更完整的用途列表以及每项用途的资源成本,请参阅 VPS 可以做什么。

FAQ

VPS 与虚拟机是同一种东西吗?

VPS 是由公司出租给您的虚拟机,附带操作系统、公网 IP 地址和月度价格。底层技术相同。这两个词的范围不同:“虚拟机”描述的是运行在 hypervisor 上的任何来宾系统,包括您自己笔记本电脑上的虚拟机;“VPS”描述的是您购买的产品。VPC 则是另一种东西,它是云服务商内部的私有网络,而不是服务器。

使用 VPS 需要了解 Linux 吗?

您需要了解一些基础知识,其余内容可以在使用过程中学习。起步需要掌握使用 ssh 连接、使用 cd 和 ls 移动目录、使用 nano 编辑文件、使用 apt 安装软件,以及使用 journalctl 查看日志。非托管 VPS 默认由您自行处理更新和防火墙。如果您不想负责这些工作,可以选择托管方案或控制面板,但月费会更高。

为什么我的 VPS 显示的 RAM 少于方案承诺的容量?

Linux 报告的是可用内存,而方案宣传的是分配的内存。计算 free -h 中的总量前,系统会扣除 kernel image 和几个预留内存区域,因此 16 GB 方案通常会报告约 15Gi。相差几百 MB 属于正常情况。相差几 GB 则不正常,建议就此提交支持工单。

什么是 steal time?需要担心吗?

steal time 是虚拟 CPU 已准备好运行、但必须等待的时间百分比,因为 hypervisor 将物理核心分配给了其他来宾系统。vmstat 1 的 st 列会显示该数值。在共享硬件上,短时间达到 1% 或 2% 属于正常情况。如果您自身负载较低时该数值持续达到两位数,说明物理主机超额分配了资源。解决方法是更换主机或方案,因为服务器内部无法控制主机的调度器。

一台 VPS 可以运行多个服务吗?

可以。这正是拥有 root 权限的意义:这台机器是通用的,只要内存足够,并且每个服务监听不同的端口,它们就可以共存。通常最先遇到的限制是内存,其次是磁盘速度。邮件服务是一个特殊情况,因为邮件投递取决于 IP 地址的信誉,而托管服务商分配的新 IP 地址通常一开始不受大型邮件系统信任。