{"id":124,"date":"2026-05-26T19:53:54","date_gmt":"2026-05-26T19:53:54","guid":{"rendered":"https:\/\/hostandtech.com\/kb\/vps\/understanding-vps-resource-allocation\/"},"modified":"2026-05-26T19:53:54","modified_gmt":"2026-05-26T19:53:54","slug":"understanding-vps-resource-allocation","status":"publish","type":"post","link":"https:\/\/hostandtech.com\/kb\/vps\/understanding-vps-resource-allocation\/","title":{"rendered":"Understanding VPS Resource Allocation: RAM, CPU, and What You&#8217;re Actually Getting"},"content":{"rendered":"<h2>Overview<\/h2>\n<p>A VPS (Virtual Private Server) gives you a slice of a physical host machine, with a guaranteed portion of its VPS resources including RAM, CPU, and storage. You&#8217;re not sharing those resources the same way you would on shared hosting, but you&#8217;re also not getting the full isolation of a dedicated server. Understanding the difference matters a lot when your site slows down or an application starts throwing errors.<\/p>\n<p>Most users only look at the numbers on their plan page. What they miss is <em>how<\/em> those numbers behave under real workload conditions. RAM on a VPS is almost always a hard limit. CPU is often where things get more nuanced \u2014 and that&#8217;s where most performance surprises come from.<\/p>\n<p>This article covers how RAM and CPU allocation works on a typical KVM-based VPS (which is what Host &amp; Tech uses), how to check your current usage, and how to tell when you&#8217;ve genuinely outgrown your plan versus when something is just misconfigured.<\/p>\n<h2>Prerequisites<\/h2>\n<ul>\n<li>SSH access to your VPS (root or sudo user)<\/li>\n<li>A terminal client \u2014 PuTTY on Windows, Terminal on macOS\/Linux<\/li>\n<li>Basic comfort with Linux command line (you don&#8217;t need to be an expert)<\/li>\n<li>Your VPS should be running a standard Linux distribution \u2014 these examples use Ubuntu 22.04 or CentOS Stream 9, but the commands work on most distros<\/li>\n<\/ul>\n<h2>How RAM Allocation Works on a VPS<\/h2>\n<p>RAM is typically the most straightforward resource on a VPS. With KVM virtualisation (the technology behind most modern VPS hosting, including our <a href=\"https:\/\/www.hostandtech.com\/vps-ssd-servers\">VPS SSD Hosting<\/a>), your RAM allocation is hard-set at the hypervisor level. If your plan says 4 GB, your OS sees exactly 4 GB and cannot exceed it.<\/p>\n<p>This is different from older OpenVZ-based setups, where RAM could be soft-limited and occasionally borrowed from a shared pool. KVM doesn&#8217;t work that way \u2014 which is actually better for consistency, even if it means you hit the wall more abruptly.<\/p>\n<h3>Checking Your Available RAM<\/h3>\n<p>To see your current RAM usage, run:<\/p>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-1\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-1'><code class=\"\" data-line=\"\">free -h<\/code><\/pre>\n<\/div>\n<p>You&#8217;ll get output like this:<\/p>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-2\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-2'><code class=\"\" data-line=\"\">              total        used        free      shared  buff\/cache   available\nMem:          3.8Gi       1.2Gi       512Mi       128Mi       2.1Gi       2.3Gi\nSwap:         1.0Gi       0.0Gi       1.0Gi<\/code><\/pre>\n<\/div>\n<p>The column to watch is <strong>available<\/strong>, not <strong>free<\/strong>. The <code class=\"\" data-line=\"\">free<\/code> column shows memory not in use at all. The <code class=\"\" data-line=\"\">available<\/code> column shows what the kernel can actually hand to a new process, including memory currently used for cache that can be released. Most people panic when they see a low <code class=\"\" data-line=\"\">free<\/code> value \u2014 but Linux intentionally uses spare RAM for disk caching. That&#8217;s normal and healthy behaviour.<\/p>\n<p>\ud83d\udcdd <strong>Note:<\/strong> If your <code class=\"\" data-line=\"\">available<\/code> column is consistently below 200\u2013300 MB under normal load (not a traffic spike), that&#8217;s a genuine sign you&#8217;re running low. Under 100 MB and you&#8217;re likely already seeing swap use or OOM (Out of Memory) kills.<\/p>\n<h3>Swap: The Safety Net You Shouldn&#8217;t Rely On<\/h3>\n<p>Swap is disk space used as overflow RAM. It keeps your server from crashing outright when memory fills up, but it&#8217;s orders of magnitude slower than real RAM. If your server is consistently using swap, that&#8217;s not a configuration win \u2014 it&#8217;s a sign you need more RAM or need to audit what&#8217;s consuming memory.<\/p>\n<p>Check swap usage with:<\/p>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-3\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-3'><code class=\"\" data-line=\"\">swapon --show\nfree -h<\/code><\/pre>\n<\/div>\n<p>\u26a0 <strong>Warning:<\/strong> On SSD-based VPS plans, swap is less destructive than on spinning disk, but heavy swap use will still tank your application response times. Don&#8217;t treat swap as a substitute for proper RAM allocation.<\/p>\n<h2>How CPU Allocation Works on a VPS<\/h2>\n<p>CPU on a VPS is where things get more interesting, and where a lot of users get confused or frustrated.<\/p>\n<p>When your plan says &#8220;2 vCPUs,&#8221; that means you&#8217;ve been assigned 2 virtual CPU cores. On a KVM host, each vCPU maps to a thread on the physical host&#8217;s processor. Whether those vCPUs are dedicated or shared depends on the hosting provider and plan tier.<\/p>\n<p>On most standard VPS plans (including our entry-level <a href=\"https:\/\/www.hostandtech.com\/vps-ssd-servers\">VPS SSD Hosting<\/a> starting from $5.83\/mo), vCPUs are shared at the hypervisor level. This means your 2 vCPUs are guaranteed up to their allocated share, but if the physical host is under light load, you can burst beyond that. Conversely, under heavy host load, you&#8217;ll be throttled back to your fair share.<\/p>\n<p>This is not a gotcha \u2014 it&#8217;s standard practice across the industry and is usually what makes affordable VPS pricing possible. What matters is whether the provider oversells aggressively. We don&#8217;t.<\/p>\n<h3>Checking CPU Usage<\/h3>\n<p>The quickest way to check real-time CPU usage is <code class=\"\" data-line=\"\">top<\/code> or the more readable <code class=\"\" data-line=\"\">htop<\/code>:<\/p>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-4\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-4'><code class=\"\" data-line=\"\"># Install htop if it&#039;s not already there\napt install htop -y    # Ubuntu\/Debian\ndnf install htop -y    # CentOS\/AlmaLinux\/Rocky\n\n# Run it\nhtop<\/code><\/pre>\n<\/div>\n<p>In <code class=\"\" data-line=\"\">htop<\/code>, look at the CPU bars at the top. You want to understand <em>which processes<\/em> are consuming CPU, not just the total percentage. A single PHP-FPM worker pegging one core is a very different problem from a MySQL query causing system-wide CPU saturation.<\/p>\n<p>For a historical view of CPU usage over time, <code class=\"\" data-line=\"\">sar<\/code> (part of the <code class=\"\" data-line=\"\">sysstat<\/code> package) is more useful than any real-time tool:<\/p>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-5\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-5'><code class=\"\" data-line=\"\">apt install sysstat -y\nsar -u 1 10<\/code><\/pre>\n<\/div>\n<p>This samples CPU usage once per second, ten times. The <code class=\"\" data-line=\"\">%iowait<\/code> column is the one people overlook \u2014 high I\/O wait means your CPU is idle but waiting on disk, which points to a storage bottleneck rather than a CPU one.<\/p>\n<h3>CPU Steal Time: The Non-Obvious One<\/h3>\n<p>In <code class=\"\" data-line=\"\">top<\/code> or <code class=\"\" data-line=\"\">htop<\/code>, there&#8217;s a metric called <strong>steal time<\/strong> (shown as <code class=\"\" data-line=\"\">%st<\/code> in top). This is the percentage of time your vCPU wanted to run but the hypervisor couldn&#8217;t give it CPU cycles because the physical host was busy. This is genuinely the most important metric on a shared VPS that most users never check.<\/p>\n<p>Steal time above 5% consistently is a red flag. Above 10\u201315% means you&#8217;re on an overloaded host and your performance will suffer regardless of how well-tuned your application is. In my experience, this is more often the cause of &#8220;my VPS feels slow&#8221; complaints than anything in the application stack.<\/p>\n<p>Check it with:<\/p>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-6\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-6'><code class=\"\" data-line=\"\">top<\/code><\/pre>\n<\/div>\n<p>Look at the CPU line: <code class=\"\" data-line=\"\">%Cpu(s): 12.0 us, 2.0 sy, 0.0 ni, 80.0 id, 1.0 wa, 0.0 hi, 0.5 si, 4.5 st<\/code> \u2014 that last <code class=\"\" data-line=\"\">st<\/code> value is steal time.<\/p>\n<p>If you&#8217;re consistently seeing high steal time on a Host &amp; Tech VPS, open a support ticket and we&#8217;ll investigate the host node or migrate you.<\/p>\n<h2>Storage I\/O: The Third Resource People Forget<\/h2>\n<p>RAM and CPU get all the attention, but disk I\/O throughput matters just as much for most web workloads. All Host &amp; Tech VPS plans use NVMe or SSD storage precisely because spinning-disk I\/O on a virtualised environment is painful under any real load.<\/p>\n<p>Check disk I\/O with:<\/p>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-7\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-7'><code class=\"\" data-line=\"\">iostat -x 1 5<\/code><\/pre>\n<\/div>\n<p>The <code class=\"\" data-line=\"\">%util<\/code> column shows how saturated your disk is. If it&#8217;s sitting above 80\u201390% regularly, you have an I\/O problem \u2014 often caused by a database without proper indexing, a runaway log file, or a backup job running during peak hours.<\/p>\n<h2>Common Issues and Troubleshooting<\/h2>\n<h3>Server feels slow but CPU and RAM look fine<\/h3>\n<p>Check steal time first (see above). If steal time is low, run <code class=\"\" data-line=\"\">iostat -x 1 10<\/code> and look for high <code class=\"\" data-line=\"\">%util<\/code> on your disk. High I\/O wait (<code class=\"\" data-line=\"\">%iowait<\/code> in top) combined with high disk utilisation almost always points to a database query doing a full table scan, or a backup process running during business hours.<\/p>\n<h3>Application crashes randomly with no clear error<\/h3>\n<p>This is usually an OOM (Out of Memory) kill. The Linux kernel silently kills processes when memory runs out. Check <code class=\"\" data-line=\"\">\/var\/log\/syslog<\/code> or <code class=\"\" data-line=\"\">\/var\/log\/messages<\/code> for entries containing <code class=\"\" data-line=\"\">oom-kill<\/code> or <code class=\"\" data-line=\"\">Out of memory<\/code>:<\/p>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-8\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-8'><code class=\"\" data-line=\"\">grep -i &#039;oom|out of memory&#039; \/var\/log\/syslog | tail -20<\/code><\/pre>\n<\/div>\n<p>If you find OOM kills, you need either more RAM or to tune your application&#8217;s memory limits (PHP&#8217;s <code class=\"\" data-line=\"\">memory_limit<\/code>, MySQL&#8217;s <code class=\"\" data-line=\"\">innodb_buffer_pool_size<\/code>, etc.).<\/p>\n<h3>MySQL is consuming all available RAM<\/h3>\n<p>MySQL (and MariaDB) will use as much RAM as you give it. The main culprit is <code class=\"\" data-line=\"\">innodb_buffer_pool_size<\/code> in <code class=\"\" data-line=\"\">\/etc\/mysql\/mysql.conf.d\/mysqld.cnf<\/code> (Ubuntu) or <code class=\"\" data-line=\"\">\/etc\/my.cnf<\/code> (CentOS). A common rule of thumb is to set this to 50\u201370% of total RAM on a dedicated database server \u2014 but on a VPS running a full web stack, 25\u201340% is safer.<\/p>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-9\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-9'><code class=\"\" data-line=\"\">[mysqld]\ninnodb_buffer_pool_size = 512M<\/code><\/pre>\n<\/div>\n<p>Restart MySQL after changing this: <code class=\"\" data-line=\"\">systemctl restart mysql<\/code><\/p>\n<h3>PHP processes piling up and eating RAM<\/h3>\n<p>If you&#8217;re running PHP-FPM, check your pool configuration at <code class=\"\" data-line=\"\">\/etc\/php\/8.2\/fpm\/pool.d\/www.conf<\/code>. The <code class=\"\" data-line=\"\">pm.max_children<\/code> setting controls how many PHP worker processes can run simultaneously. Set it too high and you&#8217;ll exhaust RAM. A rough calculation: divide your available RAM (after OS and MySQL overhead) by the average RAM per PHP process (~30\u201350 MB for a typical WordPress site).<\/p>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-10\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-10'><code class=\"\" data-line=\"\">; For a 2 GB VPS with ~800 MB free for PHP workers:\npm.max_children = 20<\/code><\/pre>\n<\/div>\n<h3>VPS becomes unresponsive after traffic spike<\/h3>\n<p>Under sudden traffic, the first thing to check is whether it&#8217;s a RAM exhaustion event (OOM kills) or CPU saturation. If it&#8217;s CPU, look at whether your web server is spawning too many worker processes. On Apache with the prefork MPM, <code class=\"\" data-line=\"\">MaxRequestWorkers<\/code> in <code class=\"\" data-line=\"\">\/etc\/apache2\/mods-enabled\/mpm_prefork.conf<\/code> controls this. On Nginx, the defaults are much more conservative and rarely cause this problem. If you&#8217;re regularly hitting this scenario, it may be time to look at a higher-tier VPS plan or a dedicated server for consistent high-traffic workloads.<\/p>\n<h2>FAQ<\/h2>\n<div class='ht-faq-section'>\n<h2>Frequently Asked Questions<\/h2>\n<div class='ht-faq-item'>\n<h3 class='ht-faq-question'>What&#039;s the difference between RAM on a VPS vs shared hosting?<\/h3>\n<div class='ht-faq-answer'>\n<p>On shared hosting, there&#8217;s no guaranteed RAM allocation \u2014 you&#8217;re competing with every other account on the server. On a KVM VPS, your RAM is hard-allocated and reserved specifically for your instance. Other VPS users on the same physical host cannot take your RAM, even if they&#8217;re sitting idle.<\/p>\n<\/div>\n<\/div>\n<div class='ht-faq-item'>\n<h3 class='ht-faq-question'>How much RAM do I need for a WordPress VPS?<\/h3>\n<div class='ht-faq-answer'>\n<p>For a single WordPress site with moderate traffic (under 10,000 visits\/day), 1\u20132 GB is workable if you&#8217;re running a caching plugin like WP Rocket or W3 Total Cache. For WooCommerce stores or multiple WordPress sites on the same VPS, 2\u20134 GB is more realistic. If you want a managed setup without worrying about this tuning, Host &#038; Tech&#8217;s managed WordPress hosting handles it for you.<\/p>\n<\/div>\n<\/div>\n<div class='ht-faq-item'>\n<h3 class='ht-faq-question'>Can I upgrade my VPS RAM without migrating to a new server?<\/h3>\n<div class='ht-faq-answer'>\n<p>With KVM virtualisation, RAM changes typically require a reboot of your VPS but not a full migration to new hardware. Most upgrades through the control panel take effect after a clean restart. Always take a snapshot or backup before resizing, in case anything doesn&#8217;t come back up cleanly.<\/p>\n<\/div>\n<\/div>\n<div class='ht-faq-item'>\n<h3 class='ht-faq-question'>What is CPU steal time and should I be worried about it?<\/h3>\n<div class='ht-faq-answer'>\n<p>Steal time is the percentage of time your vCPU was waiting for the physical host&#8217;s CPU because other virtual machines were competing for it. A steal value under 2\u20133% is normal. Consistent steal time above 5\u201310% means your VPS host is overloaded and your workloads will be affected. Check it using the &#8216;st&#8217; metric in the top command, and contact support if it&#8217;s persistently high.<\/p>\n<\/div>\n<\/div>\n<div class='ht-faq-item'>\n<h3 class='ht-faq-question'>My VPS plan says 4 vCPUs \u2014 are those dedicated cores?<\/h3>\n<div class='ht-faq-answer'>\n<p>On standard VPS plans, vCPUs are virtualised threads mapped to physical host cores, not dedicated cores in the way a bare-metal dedicated server would give you. You&#8217;re guaranteed your fair share of those CPU resources, and you can often burst higher when the host is under light load. If you need guaranteed, consistent CPU performance with no contention, a dedicated server is the right product for that use case.<\/p>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Your VPS plan says 4 GB RAM and 2 vCPUs \u2014 but what does that actually mean? Resource allocation on a VPS works differently than on a dedicated server, and misunderstanding it is one of the most common causes of unexpected performance issues.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[3],"tags":[23,22,117,11,118],"class_list":["post-124","post","type-post","status-publish","format-standard","hentry","category-vps","tag-cpu","tag-ram","tag-resource-allocation","tag-vps","tag-vps-performance"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Understanding VPS Resource Allocation: RAM, CPU, and What You&#039;re Actually Getting<\/title>\n<meta name=\"description\" content=\"Learn how VPS resources like RAM and CPU are allocated, what shared vs. dedicated means, and how to avoid common performance pitfalls on your VPS.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/hostandtech.com\/kb\/vps\/understanding-vps-resource-allocation\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Understanding VPS Resource Allocation: RAM, CPU, and What You&#039;re Actually Getting\" \/>\n<meta property=\"og:description\" content=\"Learn how VPS resources like RAM and CPU are allocated, what shared vs. dedicated means, and how to avoid common performance pitfalls on your VPS.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/hostandtech.com\/kb\/vps\/understanding-vps-resource-allocation\/\" \/>\n<meta property=\"og:site_name\" content=\"Host And Tech knowledge base\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/stshostandtech\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-26T19:53:54+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@stshostandtech\" \/>\n<meta name=\"twitter:site\" content=\"@stshostandtech\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/vps\\\/understanding-vps-resource-allocation\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/vps\\\/understanding-vps-resource-allocation\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#\\\/schema\\\/person\\\/b6fa79c48ddaba71af32e395c5b017ee\"},\"headline\":\"Understanding VPS Resource Allocation: RAM, CPU, and What You&#8217;re Actually Getting\",\"datePublished\":\"2026-05-26T19:53:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/vps\\\/understanding-vps-resource-allocation\\\/\"},\"wordCount\":1811,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#organization\"},\"keywords\":[\"cpu\",\"ram\",\"resource allocation\",\"VPS\",\"VPS performance\"],\"articleSection\":[\"VPS Hosting\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/hostandtech.com\\\/kb\\\/vps\\\/understanding-vps-resource-allocation\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/vps\\\/understanding-vps-resource-allocation\\\/\",\"url\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/vps\\\/understanding-vps-resource-allocation\\\/\",\"name\":\"Understanding VPS Resource Allocation: RAM, CPU, and What You're Actually Getting\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#website\"},\"datePublished\":\"2026-05-26T19:53:54+00:00\",\"description\":\"Learn how VPS resources like RAM and CPU are allocated, what shared vs. dedicated means, and how to avoid common performance pitfalls on your VPS.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/vps\\\/understanding-vps-resource-allocation\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/hostandtech.com\\\/kb\\\/vps\\\/understanding-vps-resource-allocation\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/vps\\\/understanding-vps-resource-allocation\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Understanding VPS Resource Allocation: RAM, CPU, and What You&#8217;re Actually Getting\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#website\",\"url\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/\",\"name\":\"Host And Tech knowledge base\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#organization\",\"name\":\"Host And Tech knowledge base\",\"url\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/logo-dark.png\",\"contentUrl\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/logo-dark.png\",\"width\":1134,\"height\":395,\"caption\":\"Host And Tech knowledge base\"},\"image\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/stshostandtech\",\"https:\\\/\\\/x.com\\\/stshostandtech\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#\\\/schema\\\/person\\\/b6fa79c48ddaba71af32e395c5b017ee\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/aa1edac8bbadb442e059a5b65ad45a3b2e3ce689202373b96e3e567517ae4b39?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/aa1edac8bbadb442e059a5b65ad45a3b2e3ce689202373b96e3e567517ae4b39?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/aa1edac8bbadb442e059a5b65ad45a3b2e3ce689202373b96e3e567517ae4b39?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\\\/\\\/hostandtech.com\\\/kb\"],\"url\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/author\\\/admin_fjj7qydm\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Understanding VPS Resource Allocation: RAM, CPU, and What You're Actually Getting","description":"Learn how VPS resources like RAM and CPU are allocated, what shared vs. dedicated means, and how to avoid common performance pitfalls on your VPS.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/hostandtech.com\/kb\/vps\/understanding-vps-resource-allocation\/","og_locale":"en_US","og_type":"article","og_title":"Understanding VPS Resource Allocation: RAM, CPU, and What You're Actually Getting","og_description":"Learn how VPS resources like RAM and CPU are allocated, what shared vs. dedicated means, and how to avoid common performance pitfalls on your VPS.","og_url":"https:\/\/hostandtech.com\/kb\/vps\/understanding-vps-resource-allocation\/","og_site_name":"Host And Tech knowledge base","article_publisher":"https:\/\/www.facebook.com\/stshostandtech","article_published_time":"2026-05-26T19:53:54+00:00","author":"admin","twitter_card":"summary_large_image","twitter_creator":"@stshostandtech","twitter_site":"@stshostandtech","twitter_misc":{"Written by":"admin","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/hostandtech.com\/kb\/vps\/understanding-vps-resource-allocation\/#article","isPartOf":{"@id":"https:\/\/hostandtech.com\/kb\/vps\/understanding-vps-resource-allocation\/"},"author":{"name":"admin","@id":"https:\/\/hostandtech.com\/kb\/#\/schema\/person\/b6fa79c48ddaba71af32e395c5b017ee"},"headline":"Understanding VPS Resource Allocation: RAM, CPU, and What You&#8217;re Actually Getting","datePublished":"2026-05-26T19:53:54+00:00","mainEntityOfPage":{"@id":"https:\/\/hostandtech.com\/kb\/vps\/understanding-vps-resource-allocation\/"},"wordCount":1811,"commentCount":0,"publisher":{"@id":"https:\/\/hostandtech.com\/kb\/#organization"},"keywords":["cpu","ram","resource allocation","VPS","VPS performance"],"articleSection":["VPS Hosting"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/hostandtech.com\/kb\/vps\/understanding-vps-resource-allocation\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/hostandtech.com\/kb\/vps\/understanding-vps-resource-allocation\/","url":"https:\/\/hostandtech.com\/kb\/vps\/understanding-vps-resource-allocation\/","name":"Understanding VPS Resource Allocation: RAM, CPU, and What You're Actually Getting","isPartOf":{"@id":"https:\/\/hostandtech.com\/kb\/#website"},"datePublished":"2026-05-26T19:53:54+00:00","description":"Learn how VPS resources like RAM and CPU are allocated, what shared vs. dedicated means, and how to avoid common performance pitfalls on your VPS.","breadcrumb":{"@id":"https:\/\/hostandtech.com\/kb\/vps\/understanding-vps-resource-allocation\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/hostandtech.com\/kb\/vps\/understanding-vps-resource-allocation\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/hostandtech.com\/kb\/vps\/understanding-vps-resource-allocation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/hostandtech.com\/kb\/"},{"@type":"ListItem","position":2,"name":"Understanding VPS Resource Allocation: RAM, CPU, and What You&#8217;re Actually Getting"}]},{"@type":"WebSite","@id":"https:\/\/hostandtech.com\/kb\/#website","url":"https:\/\/hostandtech.com\/kb\/","name":"Host And Tech knowledge base","description":"","publisher":{"@id":"https:\/\/hostandtech.com\/kb\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/hostandtech.com\/kb\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/hostandtech.com\/kb\/#organization","name":"Host And Tech knowledge base","url":"https:\/\/hostandtech.com\/kb\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/hostandtech.com\/kb\/#\/schema\/logo\/image\/","url":"https:\/\/hostandtech.com\/kb\/wp-content\/uploads\/2026\/05\/logo-dark.png","contentUrl":"https:\/\/hostandtech.com\/kb\/wp-content\/uploads\/2026\/05\/logo-dark.png","width":1134,"height":395,"caption":"Host And Tech knowledge base"},"image":{"@id":"https:\/\/hostandtech.com\/kb\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/stshostandtech","https:\/\/x.com\/stshostandtech"]},{"@type":"Person","@id":"https:\/\/hostandtech.com\/kb\/#\/schema\/person\/b6fa79c48ddaba71af32e395c5b017ee","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/aa1edac8bbadb442e059a5b65ad45a3b2e3ce689202373b96e3e567517ae4b39?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/aa1edac8bbadb442e059a5b65ad45a3b2e3ce689202373b96e3e567517ae4b39?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/aa1edac8bbadb442e059a5b65ad45a3b2e3ce689202373b96e3e567517ae4b39?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/hostandtech.com\/kb"],"url":"https:\/\/hostandtech.com\/kb\/author\/admin_fjj7qydm\/"}]}},"_links":{"self":[{"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/posts\/124","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/comments?post=124"}],"version-history":[{"count":0,"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/posts\/124\/revisions"}],"wp:attachment":[{"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/media?parent=124"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/categories?post=124"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/tags?post=124"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}