A huge RAM is required to run a WordPress site if you are using Apache with SSL/TLS. 12GB will sometimes feel risky for a WordPress site with 2000 to 10,000 unique visitors per day. Because these days we are using SSL/TLS and there are other software not directly related to WordPress. There are many reasons why so much RAM is required and the need for RAM varies from site to site depending on many parameters. However, after 16GB the RAM usage will not disproportionately increase with an increasing number of visitors. For websites with a few million hits per day, a dedicated management team and advance plan are required to save from outages.
If you have marginally less RAM, OOM (out of memory) is unlikely to take place, rather OOM Killer application will kill Apache and your site will be down. For this reason, SSH to your server at least twice a day (if it is a busy blog), run
htop command and check which applications are sucking RAM.
Remember that, for a dedicated server, the required RAM will be more than a VPS. You can not take risks for a dedicated server. In short, a 16GB dedicated server should be sufficient for a WordPress site with 2000 to 10,000 unique visitors per day. If you use lesser RAM, you will be unable to use all the optimization to the fullest, thereby, the page loading speed will slightly increase.
In the article How to Test the Connection Speed of a Server, we have pointed that there are dedicated servers available with good spec and software RAID 1 configuration but sold with 100Mbps connection. They are good for 16GB RAM configuration but not for higher RAM.
How to Decrease the RAM Usage of a WordPress Site on a Dedicated Server?
Memory management in Linux is a bit tricky. First of all, the profiling/tools you are using should deliver accurate results. For example,
top command delivers confusing results because not everyone is enough aware of cache & buffer in Unix systems.
htop is a pretty straightforward application. We can use the free command to check the sizes of the buffer memory and cache memory,
free -h gives a nice output.
Normally we use some cache plugin, that decreases the RAM usage. Database optimization, removal of guilty plugins should be done periodically. How much RAM WordPress will use depends on the theme and plugins. You must optimize MySQL and Apache web servers in a manner so that you do not face OOM. Using a CDN offloads the usage of RAM in multiple ways. SSL needs over 128K per connection for memory buffers. In case you are using a dual stack of IPv4 and IPv6 on one server, again it will slightly increase the RAM usage.