TL;DR:
- A VPS (virtual private server) is a virtual machine with its own operating system, public IP address, and a set amount of vCPU, RAM, and storage on a shared physical server. You log in as root over SSH on Linux or as administrator over Remote Desktop on Windows Server.
- A hypervisor such as KVM, in the Linux kernel since version 2.6.20, gives each VPS a fixed amount of RAM and disk and schedules its vCPUs on the host's physical cores.
- Common workloads: websites, Docker apps, n8n, Minecraft and Palworld servers, a personal WireGuard VPN, and AI agents such as OpenClaw.
- Size by RAM: Ubuntu 24.04 cloud images need at least 1 GB, OpenClaw recommends 2 GB or more, and the Palworld server guide recommends 16 GB.
- A VPN is an encrypted network tunnel. A VPS is a server, and a VPN server is one of the things it can run.
A VPS, short for virtual private server, is a virtual machine that a hosting provider runs on a physical server and rents to you. It has its own operating system, public IP address, and a set amount of vCPU, RAM, and storage, and it stays online when your own computer is off.
Applies to: Ubuntu 24.04 LTS and Ubuntu 26.04 LTS · OpenSSH 9.6 and 10.2 · checked October 2026
What is a VPS server and how does it work?
A physical server, called the host, runs a hypervisor: software that creates virtual machines and keeps them apart. KVM, built into the Linux kernel, is a common choice, and Xen, VMware ESXi, and Microsoft Hyper-V do the same job. Each VPS gets virtual processors, memory, a disk, and a network interface, and its operating system boots on them as it would on a physical machine.
The host's hardware is split in different ways:
- RAM is a fixed amount per VPS. On Linux, when processes need more than is free, the out-of-memory (OOM) killer ends one of them.
- Storage is a virtual disk on the host's drives. NVMe vs SSD for cloud servers explains why the drive type matters.
- vCPUs are scheduled by the hypervisor on the host's physical cores, which the other virtual machines on that host also use.
- Network traffic leaves through the host's network interface. Plans list a network speed and a monthly transfer allowance.
Each VPS runs its own kernel, file system, and processes, and other customers on the host cannot read its files. Container products built on OpenVZ or LXC share the host's kernel instead, so you cannot load kernel modules. The systemd-detect-virt command prints kvm on a KVM virtual machine and openvz or lxc inside a container.
VPS vs shared hosting, dedicated servers, and cloud instances
The options differ in what you rent and who runs the operating system.
| Type | What you rent | Who runs the OS | Root or admin access |
|---|---|---|---|
| Shared hosting | An account on a server shared by many websites, usually with a control panel | The provider | No |
| VPS | A virtual machine with its own OS, IP address, vCPU, RAM, and storage | You | Yes |
| Dedicated server | A whole physical server | You | Yes |
| Cloud instance | A virtual machine inside a platform of services such as load balancers and managed databases | You | Yes |
Shared hosting fits a small PHP and MySQL website on the provider's stack. A VPS fits software that needs its own packages, open ports, or background processes. When to upgrade from shared hosting to a VPS lists the signs. A dedicated server removes the hypervisor and gives you the whole machine. A cloud instance is also a virtual machine; the difference is the platform around it.
VPS vs VPN
A VPN (virtual private network) is an encrypted tunnel between your devices and another network. A VPS is a server. A VPN server such as WireGuard is one thing a VPS can run: your laptop and phone connect to it, and their internet traffic exits through the server's IP address. WireGuard has been part of the Linux kernel since version 5.6. How to Set Up a WireGuard VPN Server on Ubuntu 24.04 covers the setup.
What you can do with a VPS
A VPS runs any software that supports its operating system and fits in its RAM. Common workloads and their setup guides:
- A website with a web server, database, and cache. Install Nginx, PostgreSQL, and Redis on Ubuntu 24.04 sets up that stack.
- Docker containers, each app with its own dependencies. Start with How to Install Docker and Docker Compose on Ubuntu 24.04 and 26.04.
- Workflow automation with n8n, set up in How to Self-Host n8n with Docker Compose. The n8n AI agent tutorial adds an API model or Ollama.
- Game servers. A Minecraft server with Paper needs Java 25 for Paper 26.1 and later. A Palworld dedicated server listens on UDP port 8211 by default.
- A personal VPN for your own devices, for lawful use, with the WireGuard tutorial.
- AI agents such as OpenClaw and Hermes Agent, which stay online and call an API model. See How to Install and Secure OpenClaw on a VPS. Hermes Agent vs OpenClaw compares the two.
- A coding agent. OpenCode runs in the terminal over SSH with an API model or a local Ollama model.
- Local AI models on CPU for interactive, on-demand use with Ollama and Open WebUI. Use an API model for continuous or batch generation. Best Ollama models for CPU servers lists models by RAM size.
- Trading bots that need a short network path to an exchange, covered in Solana trading VPS.
- Windows applications on a Windows Server VPS, reached over Remote Desktop. How to Secure RDP on Windows Server locks down that access.
How much vCPU, RAM, and storage you need
The table lists vendor requirements and one published CPU benchmark. "Not published" means the vendor gives no figure.
| Workload | vCPU | RAM | Storage | Source |
|---|---|---|---|---|
| Ubuntu Server 24.04, cloud image | Not published | 1 GB minimum, 3 GB suggested | 4 GB minimum, 25 GB suggested | Ubuntu Server docs |
| OpenClaw gateway with an API model | 1 minimum, 1 to 2 recommended | 1 GB minimum, 2 GB or more recommended | About 500 MB | OpenClaw FAQ |
| n8n, one instance with PostgreSQL | 2 in n8n's benchmark | 4 GB in n8n's benchmark | Not published | n8n performance docs |
| Minecraft Java server (Paper) | Not published | 4 GB Java heap in Paper's start command, plus OS memory | Not published | PaperMC docs |
| Palworld dedicated server | 4 cores recommended | 16 GB recommended; 8 GB boots with a higher out-of-memory risk | SSD recommended | Palworld server guide |
| Local model on CPU, 4B to 9B (Ollama) | 16 in the benchmark | 4.2 to 7.3 GiB resident memory at an 8K prompt | Not published | CPU LLM benchmark |
Size RAM first, because memory is a hard limit. A Minecraft server with a 4 GB heap needs a plan with more than 4 GB, since Ubuntu and the Java runtime use memory outside the heap.
The vCPU count and clock speed set how fast work finishes, which shows in game server tick rates and local model tokens per second. AMD EPYC VPS explained covers the processor side. On a running server, free -h shows memory use and df -h / shows disk use.
Your first login to a new VPS
The first login on a Linux VPS is usually as root over SSH. Create an Ed25519 key pair on your computer first; How to Generate an SSH Key on Windows, macOS, and Linux covers each system.
ssh-keygen -t ed25519 -C "YOUR_EMAIL"
Add the public key, the contents of ~/.ssh/id_ed25519.pub, when you create the server. Then connect:
ssh root@YOUR_SERVER_IP
Replace YOUR_SERVER_IP with the server's public IP address, such as 203.0.113.10, and type yes to accept the host key on the first connection. On the server, check what the plan gives you:
nproc
free -h
df -h /
systemd-detect-virt
nproc prints the vCPU count and df -h / the disk size. free -h shows a little less RAM than the plan lists, because the kernel reserves part of it at boot.
Create a non-root user with sudo privileges and copy your key to it. adduser asks for a password, which sudo requests later.
adduser deploy
usermod -aG sudo deploy
install -d -m 700 -o deploy -g deploy /home/deploy/.ssh
install -m 600 -o deploy -g deploy /root/.ssh/authorized_keys /home/deploy/.ssh/
Log out, connect with ssh deploy@YOUR_SERVER_IP, and update the packages:
sudo apt update && sudo apt upgrade -y
If the upgrade asks about a changed configuration file such as sshd_config, keep the version currently installed. If the file /var/run/reboot-required exists afterwards, run sudo reboot and connect again once the server is back up.
Then turn on the Uncomplicated Firewall (UFW). Allow OpenSSH before you enable UFW so your session stays open, and type y when UFW asks to confirm:
sudo ufw allow OpenSSH
sudo ufw enable
Docker publishes container ports through its own firewall rules, which UFW does not filter, so bind container ports to 127.0.0.1 unless they must be public. The Docker tutorial covers this.
The deploy user now has a password, so check that SSH accepts keys only:
sudo sshd -T | grep -E '^passwordauthentication '
The output should read passwordauthentication no. If it reads yes, the SSH key tutorial shows how to turn password login off.
On a Windows Server VPS, connect with Remote Desktop Connection on Windows or Windows App on macOS, then follow How to Secure RDP on Windows Server.
Where to run a VPS
Choose a location close to your users or players, since network latency grows with distance. Pick a plan with more RAM than the table lists for your workload.
Arct Cloud plans come in three tiers: Cost Optimized, General Purpose, and High Performance. The smallest Cost Optimized plan, cvm.pico, has 1 vCPU, 1 GB RAM, and 15 GB NVMe storage. Every plan includes NVMe storage, network up to 25 Gbps, and DDoS protection. The acceptable use policy allows a personal VPN for lawful use only and does not permit sustained full-CPU load.
VPS plans and specs lists every tier. The locations page shows where servers run.
FAQ
Is VPS the same as VPN?
No. A VPN is an encrypted tunnel that carries network traffic, and a VPS is a server with its own operating system. You can run a VPN server such as WireGuard on a VPS and route your own devices through it.
What is a VPS hosting server?
A VPS hosting server is a virtual machine that a hosting provider runs on a shared physical server and rents to you. It has its own operating system, public IP address, and a set amount of vCPU, RAM, and storage, and you manage it over SSH or Remote Desktop.
Is a VPS the same as a virtual machine?
A VPS is a virtual machine that a provider rents to you with an operating system, a public IP address, and network access set up. The technology is the same, and the term virtual machine also covers guests on your own computer.
How much RAM do I need for a VPS?
At least 1 GB, the minimum for an Ubuntu 24.04 cloud image. OpenClaw recommends 2 GB or more, Minecraft with a 4 GB Java heap needs more than 4 GB, and the Palworld server guide recommends 16 GB. Add memory for any database, Docker containers, or local AI model you plan to run.
Can a VPS run Windows?
Yes. A VPS can run Windows Server, which you manage over Remote Desktop instead of SSH. On Arct Cloud, Windows Server needs a plan with 2 or more vCPU and deploys in 2 to 4 minutes, depending on the image size.
Next steps
- How to Generate an SSH Key on Windows, macOS, and Linux
- How to Install Docker and Docker Compose on Ubuntu 24.04 and 26.04
- How to Upgrade Ubuntu 24.04 to 26.04 LTS on a VPS
- Ubuntu Server documentation
Arct Cloud Linux images deploy in under 30 seconds with root SSH on every plan. Compare plans.