SSD Nodes Learn 🎉 VPS $5.50/月起
指南 Matt Connor作者: Matt Connor · 已更新 2026-08-13

VPS 是什麼?用白話了解虛擬私有伺服器

VPS 是由 hypervisor 切分實體伺服器而成的獨立環境,具備自己的 kernel、記憶體、磁碟與 root 登入權限,也說明資源共用的限制。

什麼是 VPS?

VPS(virtual private server,虛擬私有伺服器)是資料中心中一台實體電腦的一部分。這部分以整台電腦的形式出租給你。電腦上的軟體會將它分割成數個彼此獨立的伺服器,而你會取得其中一個。你擁有自己的記憶體、磁碟、IP 位址,以及可讓你安裝任何軟體的 root 登入權限。它會持續執行,並透過網際網路上的公開位址回應請求。

拆開這 3 個字,這項產品的意義就很清楚。Server 是持續開機並透過網路回應請求的電腦。Virtual 表示它是由軟體建立的。你的伺服器是較大型實體機器中的一個分割區。Private 表示該分割區只屬於你。你的檔案和執行中的程式,其他租用相鄰分割區的人都無法看見。

如果你從未在任何系統上取得 root 權限,最後這一點最重要。VPS 是第一種讓你成為機器管理員的主機服務。沒有任何設定會替你完成,但也沒有任何限制會阻止你。

Hypervisor 如何切分資源,以及哪些資源會共用

負責切分資源的程式稱為 hypervisor。它執行在實體機器上,而該機器稱為 host。hypervisor 會為每位客戶提供一組虛擬硬體:處理器、記憶體區塊、磁碟及網路卡。作業系統會安裝到這些虛擬硬體上,並如同擁有一台實體電腦般啟動。這個 guest system 就是你的 VPS。KVM (kernel-based virtual machine) 是 Linux host 上常見的 hypervisor;Xen、VMware ESXi 及 Microsoft Hyper-V 也執行相同工作。

記憶體與磁碟是依空間切分。處理器則是依時間切分。這項差異可以解釋之後大多數令人意外的情況。分配給你的記憶體不會被其他 guest 取用。你的磁碟是 host 儲存設備上的檔案或 logical volume;在你刪除它之前,該空間都屬於你。你的 virtual cores 是連接到 host 實體核心的佇列,hypervisor 每秒決定數千次下一個要執行的 guest。

執行一個指令即可得知你購買的是哪一種虛擬化。

systemd-detect-virt
uname -r

在一般 VPS 上,systemd-detect-virt 會輸出 kvm。這表示完整的 hypervisor 已啟動一個只屬於你的 kernel。在 container virtualisation 上,輸出則會是 lxcopenvzcontainer。此時你的伺服器是 host 自有作業系統中的隔離區域,並與同一台主機上的其他客戶共用 kernel。在 bare metal 上,輸出則是 none。這項差異會造成實際影響,因為共用的 kernel 無法由你變更。你無法載入 module,因此像 WireGuard VPN module 這類 kernel 內功能會因 Operation not supported 而失敗,而 uname -r 會回報一個由供應商決定、你無法升級的版本。

這裡的 virtual 是什麼意思?

因為伺服器由軟體構成,付款後約 1 分鐘即可建立。不需要有人替你安裝實體硬體。它是從範本映像檔建立的,因此重新建置後,幾分鐘內就能恢復乾淨的 Ubuntu;在實體安裝上可能造成嚴重損害的錯誤,最多只會讓你損失一個下午。大多數供應商的控制面板也能在你嘗試高風險操作前建立磁碟快照、重新開機後調整方案規模,並在下層主機需要維護時,將你的 guest 移至其他硬體。

價格也源自同一項特性:一台實體機器同時由多位客戶共同分攤成本,因此 VPS 的價格會是目前這個價格,而不是像租用整台伺服器那樣。

成本也緊鄰著這項優點。下層硬體是共用的,因此鄰近租戶忙碌時,也會成為你的問題。以下的限制一節包含可測量這項影響的命令。

這裡的 private 是什麼意思?

Private 表示隔離,但有必要具體說明隔離程度。你會擁有自己的 kernel、root filesystem、user accounts、process list、firewall rules 和 IP address。同一台主機上的其他客戶無法列出你的 process 或讀取你的檔案,因為對方的 guest 無法存取你的記憶體或 virtual disk。這是兩個彼此分離的作業系統,只是共用同一個電源供應器。

Shared hosting 的運作方式則相反。你會在一台提供數百個其他網站服務的機器上取得一個目錄、一個控制台,以及服務供應商選擇安裝的軟體。這裡沒有 apt install,因為安裝套件會變更整台機器,而整台機器並不屬於你,無法由你任意變更。Shared hosting 與 VPS 的比較會詳細說明兩者之間的取捨。簡單來說:shared hosting 出租給你一個帳戶,而 VPS 出租給你一台電腦。

VPS 規格表逐項解讀

每台 VPS 都會以一小串數字列出規格。以下以供應商常見的中階方案作為範例。這些是截至 2026 年 8 月常見的公開數值,不是報價。

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(virtual central processing unit)是主機處理器的一個執行緒,由 hypervisor 排程給你使用。除非方案標示為 dedicated,否則你取得的是該執行緒的共用資源,而不是保留給你的固定資源。在伺服器內,nproc 會輸出 4,而 lscpu 會顯示處理器型號;該名稱可能是真實的主機 CPU,也可能是通用的 QEMU 型號,取決於主機的設定方式。

16 GB RAM。 記憶體是固定保留的資源,也是嚴格上限。free -h 顯示的數值會比購買的容量少一些;在 16 GB 方案上,通常接近 15Gi,因為 kernel 和數個保留的記憶體區域會在 Linux 計算可用容量前先扣除。記憶體用完時,系統不會向主機借用資源。

160 GB NVMe。 NVMe(non-volatile memory express)是磁碟在主機內部的連接介面,速度遠高於舊方案使用的 SATA SSD。你的資源會以虛擬磁碟呈現,在 KVM 下通常是 /dev/vdadf -h / 顯示的容量會略低於 160 GB,而可用空間又會更少,因為 ext4 預設會保留檔案系統 5 percent 的空間給 root。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 以下的埠(核心會將這些埠保留給具特權的程序,因此一般使用者無法在 port 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 並查看最後幾行,因為該服務會記錄拒絕啟動的原因。常見原因是設定檔中有拼字錯誤,或已有其他程式在監聽 port 80。

root 也是整個安全邊界,而供應商會以密碼形式提供 root 存取權。新伺服器建立後的第一次工作階段,不適合用來安裝應用程式。請建立一般使用者,改用 SSH key 登入,並在各個埠前方設定防火牆。新 VPS 的前 10 分鐘 依序列出這份檢查清單,SSH key 基礎 說明登入本身,ufw 防火牆基礎 說明埠的設定,最小權限使用者 說明之後各項服務應以哪個身分執行。使用密碼登入且未設定防火牆的伺服器,每天會收到數千次猜測嘗試;你可以使用 journalctl -u ssh -f 監看這些嘗試。

VPS 有哪些限制?

處理器是共用的,而且可以測量共用程度。 Steal time 是虛擬 CPU 已準備好執行,卻因 hypervisor 將實體核心交給其他 guest 而無法執行的時間比例。

vmstat 1 5

最後一欄 st 是 steal time。在任何共用主機上,短時間出現 1 或 2% 都屬正常。如果在自己的程序閒置時仍持續維持兩位數百分比,表示主機過度超額配置。因為等待發生在伺服器外部,所以在伺服器內進行任何調校都無法解決。正確為 VPS 進行基準測試說明如何在向供應商反映前取得證據。KVM 和 Xen guest 會回報 steal。在容器虛擬化環境中,這項數值會維持為 0,無法提供任何資訊。

記憶體是固定的,而且上限會突然生效。 配置記憶體失敗時,核心的 OOM(out of memory)killer 會選取一個程序,並以 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

應用程式自己的 log 通常完全沒有相關訊息,因為 SIGKILL 不會給程序寫入任何內容的機會。原因只會出現在核心 log 中。許多 VPS 映像檔未配置 swap file,會讓記憶體上限更加嚴格。因此,新增小型 swap file 通常是第一個修改項目。

磁碟速度快,但也是共用的。 主機的 NVMe 速度很快,而你的磁碟配額必須與其他 guest 競爭輸入和輸出操作。於低負載時段進行的基準測試,不代表同一台機器在尖峰時段的效能。

硬體不是你可以接觸的資源。 你無法插入任何裝置。除非方案刻意提供 passthrough,否則不能使用 USB 裝置、擷取卡或顯示卡。這通常是另一種更昂貴的產品:配備 GPU 的 VPS

每項資源都只有一份。 VPS 是單一機器。如果主機發生故障,你的伺服器會持續停止服務,直到主機恢復運作;除非你自行建立 failover,否則不會自動切換。備份由你負責,因此從 VPS 建立 restic 備份應列入設定清單。供應商的 snapshot 很方便,但不算備份,因為它與受保護的資料位於相同基礎架構上。

支援範圍止於 hypervisor。 在 unmanaged 方案中,供應商負責維持硬體、網路與虛擬化層的正常運作。從作業系統開始往上的所有項目都由你負責,包括安全性更新。Managed 與 unmanaged hosting說明這條界線,而在 Ubuntu 啟用 unattended upgrades是最基本且實用的啟用項目。

VPS 與容易混淆的相關項目比較

虛擬機器是一般概念,而 VPS 是其商業形式之一:按月租用的虛擬機器,已配置作業系統、公用位址與網路。VPC(虛擬私有雲)則是較大型雲端中的私有網路,伺服器位於其中,因此回答的是完全不同的問題。VPS、VM 與 VPC 的比較會正確區分這 3 個術語。

專用伺服器是整台實體機器,不使用 hypervisor,也沒有其他鄰近租戶。其月費高出數倍;當 steal time 或磁碟爭用確實成為瓶頸時,這才是適合的選擇。VPS 與專用伺服器的比較列出各項決策考量。

VPN(虛擬私人網路)與 VPS 只共用 2 個字母,其他方面毫無關係。VPN 是機器之間的加密通道。VPS 是一台機器,而執行自有 VPN 正是 VPS 的常見用途之一,混淆也由此產生。VPS 與 VPN 的比較會釐清這 2 個術語。

自有硬體,或是在家中機器上執行 Proxmox 這類 hypervisor,能以相同費用提供更多資源,但住宅網路連線常會受到許多服務的疑慮。Proxmox 與 VPS 的比較會權衡運算能力、噪音、正常運作時間與月費。

VPS 上通常會執行哪些服務?

實際上,凡是能在 Linux 上執行的程式都可以。常見用途包括網站及其資料庫、私人 VPN、遊戲伺服器、狀態監控服務、郵件伺服器、媒體庫,或在筆記型電腦闔上後仍持續工作的 coding agent。你執行的每項服務都會監聽某個埠,因此接下來值得了解 Linux 中的埠是什麼;而 VPS 能做什麼則提供更完整的用途清單,以及各項用途所需的資源成本。

FAQ

VPS 和虛擬機器是同一回事嗎?

VPS 是公司租給你的虛擬機器,包含作業系統、公有 IP 位址,以及按月計費的價格。底層技術相同,但兩個詞的涵蓋範圍不同:「虛擬機器」是指在 hypervisor 上執行的任何 guest,包括你自己筆記型電腦上的 guest;「VPS」則是指你購買的產品。VPC 又是另一種概念,指的是 cloud provider 內部的私有網路,而不是伺服器。

我需要懂 Linux 才能使用 VPS 嗎?

你只需要具備一些基礎知識,其餘內容可以在使用過程中逐步學習。起步時需要知道如何使用 ssh 連線、使用 cdls 移動目錄、使用 nano 編輯檔案、使用 apt 安裝軟體,以及使用 journalctl 讀取日誌。非託管 VPS 預設由你自行處理更新與防火牆設定。如果這些工作超出你的需求,可以選擇託管方案或 control panel,但每月費用會較高。

為什麼我的 VPS 顯示的 RAM 比方案承諾的少?

Linux 回報的是可用記憶體,而方案標示的是配置的記憶體。計算 free -h 顯示的總量前,會先扣除 kernel image 和數個保留的記憶體區域,因此 16 GB 方案通常會顯示約 15Gi。差距幾百 MB 是預期情況。差距達到數 GB 則不正常,建議向支援團隊提出 ticket。

什麼是 steal time?我需要擔心嗎?

Steal time 是指虛擬 CPU 已準備好執行,卻因 hypervisor 將實體核心分配給其他 guest 而必須等待的時間比例。vmstat 1st 欄位會顯示此數值。在共用硬體上,短時間出現 1% 或 2% 通常正常。如果你自身的負載很低,但 steal time 持續維持兩位數,表示實體主機的資源配置過量。解決方式是改用其他主機或其他方案,因為你的伺服器無法控制主機的 scheduler。

我可以在單一 VPS 上執行多個服務嗎?

可以。這正是 root 的用途:這台機器是通用環境,只要記憶體足夠,且每個服務各自監聽不同的連接埠,就能同時執行。記憶體通常是第一個限制,磁碟速度則是第二個。郵件是較特殊的例外,因為郵件遞送取決於 IP 位址的信譽,而 hosting provider 配發的新 IP 位址通常一開始不受大型郵件系統信任。