Where the memory goes
A minimal Linux server uses 200 to 400 MB on its own. The rest goes to what it runs: each PHP-FPM worker takes 40 to 80 MB for a typical WordPress site, MySQL or MariaDB use their buffer pool plus a few hundred MB, and Redis needs about 1.3 times the size of its dataset.
The Linux page cache will also use any free memory to cache files, which is good: it is released when programs need it. Plan for the programs, and let the cache use what is left.
| Component | Typical memory |
|---|---|
| Linux (minimal) | 300 MB |
| Windows Server | 2 GB |
| Nginx | 50 MB |
| Apache (prefork) | 150 MB |
| PHP-FPM worker | 60 MB each |
| MySQL / MariaDB | Buffer pool + 300 MB |
| Redis | Dataset × 1.3 |
| cPanel & WHM | 1.5 GB |
| ClamAV (mail scanning) | 1.2 GB |