Docs / Getting Started / Understanding Server Specifications: vCPU, RAM, NVMe, and Bandwidth

Understanding Server Specifications: vCPU, RAM, NVMe, and Bandwidth

By Admin · Mar 15, 2026 · Updated Apr 23, 2026 · 432 views · 4 min read

When shopping for a VPS, you'll encounter terms like vCPU, RAM, NVMe, and bandwidth. Understanding what these specifications mean — and how they affect your application's performance — is essential for making an informed purchase decision.

vCPU (Virtual CPU)

A vCPU represents a virtual processor core allocated to your server. Modern hypervisors like Proxmox/KVM map vCPUs to threads on physical processors. The performance of each vCPU depends on the underlying hardware.

How vCPUs Work

# Check your CPU info on a running server
lscpu

# Example output:
# Architecture:          x86_64
# CPU(s):                4          ← 4 vCPUs allocated
# Model name:            AMD EPYC 7351P
# CPU MHz:               2400.000
# L3 cache:              32768K

# Check real-time CPU usage per core
mpstat -P ALL 1 5

How Many vCPUs Do You Need?

  • 1 vCPU — Static websites, small blogs, development/testing environments
  • 2 vCPUs — WordPress with moderate traffic, small Node.js/Python applications
  • 4 vCPUs — Medium-traffic web applications, databases with concurrent queries
  • 8+ vCPUs — High-traffic applications, video transcoding, CI/CD runners, game servers

RAM (Memory)

RAM is your server's working memory. It stores data that the CPU needs quick access to, including running applications, cached files, and database query buffers. When RAM runs out, Linux uses swap space on disk, which is dramatically slower.

Understanding Linux Memory Usage

# Check memory usage
free -h

# Example output:
#               total    used    free    shared  buff/cache  available
# Mem:          7.8Gi    2.1Gi   1.2Gi   128Mi   4.5Gi       5.3Gi
# Swap:         2.0Gi    0B      2.0Gi

# Important: "available" is what matters, not "free"
# Linux uses unused RAM for disk caching (buff/cache)
# This cached memory is released when applications need it

RAM Requirements by Workload

  • 512MB-1GB — Lightweight static sites, small APIs, personal projects
  • 2GB — WordPress with plugins, single-app Node.js/Python deployments
  • 4GB — Multiple web applications, MySQL/PostgreSQL with moderate datasets
  • 8GB — E-commerce platforms, medium databases, Java/Spring Boot applications
  • 16GB+ — Large databases, Elasticsearch, Redis with large datasets, ML workloads

NVMe Storage

NVMe (Non-Volatile Memory Express) is the fastest type of SSD storage available. Unlike traditional SATA SSDs, NVMe drives connect directly to the CPU via PCI Express, eliminating bottlenecks.

Storage Performance Comparison

# Typical sequential read/write speeds:
# HDD (7200 RPM):    ~150 MB/s read, ~130 MB/s write
# SATA SSD:          ~550 MB/s read, ~520 MB/s write
# NVMe SSD:          ~3500 MB/s read, ~3000 MB/s write

# Test your disk speed with fio
fio --name=randread --ioengine=libaio --direct=1 
    --bs=4k --numjobs=4 --size=1G --runtime=30 
    --rw=randread --group_reporting

# Check disk space usage
df -h
du -sh /var/log/*

How Much Storage Do You Need?

  • 20-30GB — Basic web applications, small databases, minimal logs
  • 50-80GB — CMS platforms with media uploads, medium databases
  • 100-200GB — Large applications, extensive databases, backup storage
  • 500GB+ — Media hosting, large data processing, multiple applications

Bandwidth and Data Transfer

Bandwidth refers to the maximum data transfer rate (measured in Gbps), while data transfer is the total amount of data moved in a billing period (measured in TB). Most providers offer generous transfer allowances on modern plans.

Calculating Bandwidth Needs

# Monitor real-time bandwidth usage
vnstat -l

# Check monthly data transfer
vnstat -m

# Estimate bandwidth needs:
# Average page size × Daily visitors × Pages per visit × 30 days
# Example: 2MB × 10,000 visitors × 5 pages × 30 = 3TB/month

# Check current network interface speed
ethtool eth0 | grep Speed
# Speed: 1000Mb/s (1 Gbps)

Putting It All Together

Here are common deployment scenarios with recommended specifications:

WorkloadvCPURAMStorageBandwidth
Personal blog/portfolio11GB25GB1TB
WordPress (moderate traffic)22GB50GB2TB
E-commerce store48GB100GB3TB
SaaS application48GB80GB5TB
Game server (Minecraft/Palworld)416GB50GB5TB
CI/CD runner816GB100GB10TB

Tips for Choosing the Right Specs

  1. Start small and scale up — Most providers let you upgrade without data loss
  2. Monitor first, optimize later — Use tools like htop and vnstat to understand real usage
  3. Don't over-provision RAM — Linux efficiently uses free RAM as disk cache
  4. Consider burst vs sustained loads — Traffic spikes need headroom
  5. Factor in growth — Choose specs that will accommodate 6-12 months of growth

Was this article helpful?