{"id":1122,"date":"2026-09-13T23:10:28","date_gmt":"2026-09-13T23:10:28","guid":{"rendered":"https:\/\/virtualserversvps.com\/blog\/?p=1122"},"modified":"2026-09-16T22:03:40","modified_gmt":"2026-09-16T22:03:40","slug":"kernel-page-cache-small-vps-behaviour","status":"publish","type":"post","link":"https:\/\/virtualserversvps.com\/blog\/kernel-page-cache-small-vps-behaviour\/","title":{"rendered":"Kernel Page Cache on a Small VPS: What Is Actually Cached, and How to Prove It"},"content":{"rendered":"\n\n<p class=\"wp-block-paragraph\">On a 2 GB VPS, the difference between a fast site and a slow one is usually not CPU. It is whether the files your application reads most often are already in RAM when the request arrives. The kernel page cache is what makes that possible, and it is also the most misunderstood subsystem on small instances \u2014 the same cache that delivers a 10x speedup on a warm database also causes the mysterious latency spike after a backup job evicts everything. This article explains the mechanism, then gives you measurements that decide whether you need more RAM or better access patterns. If your plan choice is still open, the <a href=\"https:\/\/virtualserversvps.com\/cloud-vps-benefits\">cloud VPS feature set<\/a> matters here mainly for one number: how much RAM you can actually allocate to cache.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Read the right numbers in \/proc\/meminfo<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><code>free -h<\/code> is the tool everyone runs and the tool that misleads most often, because on Linux &#8220;used&#8221; memory excludes cache \u2014 a healthy system shows almost no free RAM by design. Look instead at the breakdown:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>grep -E '^(MemTotal|MemFree|MemAvailable|Buffers|Cached|Dirty|Writeback|AnonPages|SReclaimable)' \/proc\/meminfo<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Field<\/th><th>What it means<\/th><th>Healthy on a small VPS<\/th><\/tr><\/thead><tbody><tr><td><code>MemAvailable<\/code><\/td><td>RAM obtainable without swapping<\/td><td>&gt; 15% of total<\/td><\/tr><tr><td><code>Cached<\/code><\/td><td>Page cache (file-backed pages)<\/td><td>Large is <em>good<\/em> \u2014 it is reclaimable<\/td><\/tr><tr><td><code>Dirty<\/code><\/td><td>Modified pages not yet written to disk<\/td><td>&lt; <code>dirty_ratio<\/code> \u00d7 total<\/td><\/tr><tr><td><code>Writeback<\/code><\/td><td>Pages actively being flushed<\/td><td>Bursty; sustained high = disk too slow<\/td><\/tr><tr><td><code>AnonPages<\/code><\/td><td>Process RSS that cannot be reclaimed<\/td><td>Stable; growth means a leak<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The practical takeaway: high <code>Cached<\/code> is not a problem. High <code>Dirty<\/code> with a slow device is, because those pages must eventually be written, and the flush blocks allocations under memory pressure.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How reclaim actually proceeds when RAM runs low<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When a process needs a page and free memory is tight, the kernel reclaims in a defined order. Understanding it prevents you from &#8220;fixing&#8221; the wrong layer:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Clean page cache<\/strong> \u2014 file pages already written to disk. Free to discard. This is why dropping caches is usually a no-op on a healthy system, and why doing it manually is actively harmful: you throw away warm data that took hours to accumulate.<\/li>\n\n\n\n<li><strong>Reclaimable slab<\/strong> (<code>SReclaimable<\/code>) \u2014 inode and dentry caches, filesystem metadata. Cheap to reclaim, cheap to rebuild.<\/li>\n\n\n\n<li><strong>Dirty page writeback<\/strong> \u2014 must be flushed before reclaim. This is the step that stalls.<\/li>\n\n\n\n<li><strong>Anonymous pages \u2192 swap<\/strong> \u2014 process memory pushed to disk. Now latency is measured in tens of milliseconds per access.<\/li>\n\n\n\n<li><strong>OOM killer<\/strong> \u2014 a process dies.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Steps 3 through 5 are where small-VPS performance collapses. The goal of tuning is to keep the system operating in steps 1 and 2.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Measure whether your working set fits<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This is the single most useful page-cache diagnostic: the ratio of page requests served from cache versus from disk, per process.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Minor (cache hit) vs major (disk read) page faults for MySQL\nps -o pid,min_flt,maj_flt,cmd -C mysqld\n\n# Watch the delta over 60 seconds instead of the lifetime total\nwhile true; do\n  ps -o maj_flt= -C mysqld\n  sleep 60\ndone<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>maj_flt<\/code> is the count of faults that required a physical disk read. If that counter is climbing steadily on an otherwise idle system, the cache is being churned and every database read is reaching the device. Watch the delta, not the lifetime figure \u2014 the lifetime number is meaningless after a few days of uptime.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pair it with the kernel&#8217;s own pressure signal, which is the best early-warning metric most people have never read:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat \/proc\/pressure\/memory\n# some avg10=0.00 avg60=1.42 avg300=0.61 total=88213\n# full avg10=0.00 avg60=0.00 avg300=0.00 total=1993<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>some<\/code> means at least one task was stalled on memory. <code>full<\/code> means <em>all<\/em> runnable tasks were stalled simultaneously \u2014 the system was effectively frozen. Sustained <code>full<\/code> above 0.5% on a web server is a real problem, and it will not show up in load average or CPU graphs at all.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The dirty page problem on slow storage<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Dirty pages generate write latency, and on a shared-tier VPS with an I\/O quota, they generate throttling. Two sysctls control when the kernel starts and stops flushing:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sysctl vm.dirty_ratio vm.dirty_background_ratio vm.dirty_expire_centisecs vm.dirty_writeback_centisecs\n\n# Tighter bounds for a slow or metered device (2 GB RAM example):\nvm.dirty_background_ratio = 5     # start background flush at ~100 MB\nvm.dirty_ratio = 15               # force synchronous flush at ~300 MB\nvm.dirty_expire_centisecs = 1500  # flush pages older than 15 s\nvm.dirty_writeback_centisecs = 500<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The trade-off is explicit. Higher <code>dirty_ratio<\/code> batches writes efficiently \u2014 better throughput \u2014 but creates a large reservoir of unflushed data that turns into a multi-second stall when it must be written all at once. On a device with a hard IOPS ceiling, the batching benefit is illusory because you cannot drain the reservoir faster than the throttle allows. Lower values keep write latency smooth at the cost of slightly more, smaller write operations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pair this with <code>vm.swappiness<\/code>. The default of 60 is tuned for general-purpose systems; on a database host where you want file pages kept and anonymous pages pushed out only under genuine pressure, values of 10\u201320 are more appropriate. The interaction is covered in <a href=\"https:\/\/virtualserversvps.com\/blog\/tune-linux-memory-swappiness-vps-performance\/\">our swappiness tuning article<\/a> \u2014 the short version is that swappiness affects the page cache\/anon balance, and on a small VPS that balance is the difference between cached reads and disk reads.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What not to do<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Do not run <code>echo 3 &gt; \/proc\/sys\/vm\/drop_caches<\/code> on a production VPS.<\/strong> It empties the cache instantly, then every subsequent read hits disk. If you are running it because the system feels slow, you are treating a symptom by making the cause worse. The one legitimate use is before a controlled benchmark where you need comparable cold-cache numbers.<\/li>\n\n\n\n<li><strong>Do not add a swap file on fast NVMe as a substitute for cache.<\/strong> Swap pages are anonymous memory, not file cache. A read that comes from swap costs a disk I\/O anyway; the working set still does not fit. Swap is a safety net against OOM, not a cache extension.<\/li>\n\n\n\n<li><strong>Do not use <code>vmtouch<\/code> style pre-warming without measuring first.<\/strong> Pinning files with <code>mlock<\/code> prevents reclaim of pages you might not actually need, and on a 2 GB instance that rigidity is what pushes you into step 4 of the reclaim sequence.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">A measurement routine that fits in ten minutes<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code># 1. Baseline the cache composition\ngrep -E '^(MemTotal|MemAvailable|Cached|Dirty|AnonPages|SReclaimable)' \/proc\/meminfo\n\n# 2. Is anything stalled on memory right now?\ncat \/proc\/pressure\/memory\n\n# 3. Is MySQL reaching the disk?\nps -o maj_flt= -C mysqld; sleep 60; ps -o maj_flt= -C mysqld\n\n# 4. What is the cache actually holding?\n#    (requires vmtouch: apt install vmtouch)\nvmtouch -v \/var\/lib\/mysql\/ibdata1\n\n# 5. After your nightly backup, repeat step 1 and compare Cached<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Step 5 is the one that finds the real problem in most cases. If <code>Cached<\/code> drops by hundreds of megabytes when your backup window opens and does not recover for an hour, you have a cache eviction problem, not a RAM shortage. The fix is to make the backup reader yield to interactive I\/O \u2014 <code>ionice -c2 -n7<\/code> on the backup process \u2014 rather than buying more memory.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">When the arithmetic says the working set simply does not fit<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Do this sum: your dataset size (the indexes plus hot rows of your database, or the sum of your hot static files) versus your total RAM minus the fixed cost of the OS and processes. If the ratio is much worse than 2:1, no sysctl will save you \u2014 random reads will reach the device, and on shared storage random reads are where throughput guarantees stop mattering.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At that point the decision is a plan decision. Two levers: more RAM in the same product line, or moving the cache-hungry component to its own instance so its page cache is not competing with the web server&#8217;s. Comparing the second approach against a bigger single box is a straightforward cost-and-contention calculation, and it is exactly the analysis in <a href=\"https:\/\/virtualserversvps.com\/vps-vs-dedicated-server\">the VPS versus dedicated server comparison<\/a> \u2014 dedicated boxes win when the working set is genuinely large and steady, VPS wins when it is bursty.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you are in the &#8220;measurement says I need more RAM&#8221; branch, the practical next step is pricing memory per dollar and confirming the plan does not hide an I\/O quota behind the bigger RAM figure. <a href=\"https:\/\/interserver.net\/vps?id=1067805&amp;sid=virtualserversvps\" rel=\"noreferrer noopener sponsored\" target=\"_blank\">InterServer&#8217;s VPS plans<\/a> publish both, and their storage-backed tiers are a reasonable baseline for a cache-heavy workload. For teams that would rather hand the whole memory-tuning problem to someone else, a managed platform <a href=\"https:\/\/cloudways.com\/en\/?id=2010927&amp;data1=virtualserversvps\" rel=\"noreferrer noopener sponsored\" target=\"_blank\">like Cloudways<\/a> removes the page-cache tuning layer entirely, at a price premium that is worth it only if you are not running a database you need to tune.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The summary of the whole article: page cache is not a leak, high <code>Cached<\/code> is not a warning, and the only two numbers worth alerting on are <code>MemAvailable<\/code> trending down and <code>\/proc\/pressure\/memory<\/code> <code>full<\/code> being non-zero. Everything else is a clue about which of the five reclaim steps you are about to enter.<\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>A practical look at Linux page cache behaviour on 1\u20132 GB VPS instances: how dirty pages, reclaim pressure, and drop_caches really work, and what to measure before adding RAM.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":1,"footnotes":""},"categories":[3],"tags":[],"class_list":["post-1122","post","type-post","status-publish","format-standard","hentry","category-performance-optimization"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Kernel Page Cache on a Small VPS: What Is Actually Cached, and How to Prove It - Virtual Servers VPS Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/virtualserversvps.com\/blog\/kernel-page-cache-small-vps-behaviour\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kernel Page Cache on a Small VPS: What Is Actually Cached, and How to Prove It\" \/>\n<meta property=\"og:description\" content=\"Kernel Page Cache on a Small VPS: What Is Actually Cached, and How to Prove It\" \/>\n<meta property=\"og:url\" content=\"https:\/\/virtualserversvps.com\/blog\/kernel-page-cache-small-vps-behaviour\/\" \/>\n<meta property=\"og:site_name\" content=\"Virtual Servers VPS Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-13T23:10:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-16T22:03:40+00:00\" \/>\n<meta name=\"author\" content=\"Virtual-Servers-Vps-Editor\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Virtual-Servers-Vps-Editor\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/virtualserversvps.com\/blog\/kernel-page-cache-small-vps-behaviour\/\",\"url\":\"https:\/\/virtualserversvps.com\/blog\/kernel-page-cache-small-vps-behaviour\/\",\"name\":\"Kernel Page Cache on a Small VPS: What Is Actually Cached, and How to Prove It - Virtual Servers VPS Blog\",\"isPartOf\":{\"@id\":\"https:\/\/virtualserversvps.com\/blog\/#website\"},\"datePublished\":\"2026-09-13T23:10:28+00:00\",\"dateModified\":\"2026-09-16T22:03:40+00:00\",\"author\":{\"@id\":\"https:\/\/virtualserversvps.com\/blog\/#\/schema\/person\/82a299a8284a66ff49f97c74684724a0\"},\"breadcrumb\":{\"@id\":\"https:\/\/virtualserversvps.com\/blog\/kernel-page-cache-small-vps-behaviour\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/virtualserversvps.com\/blog\/kernel-page-cache-small-vps-behaviour\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/virtualserversvps.com\/blog\/kernel-page-cache-small-vps-behaviour\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/virtualserversvps.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kernel Page Cache on a Small VPS: What Is Actually Cached, and How to Prove It\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/virtualserversvps.com\/blog\/#website\",\"url\":\"https:\/\/virtualserversvps.com\/blog\/\",\"name\":\"Virtual Servers VPS Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/virtualserversvps.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/virtualserversvps.com\/blog\/#\/schema\/person\/82a299a8284a66ff49f97c74684724a0\",\"name\":\"Virtual-Servers-Vps-Editor\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/virtualserversvps.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d820b15f1cd028e97610d9adf536df7be5cb6423869967037d468d5355fa003f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d820b15f1cd028e97610d9adf536df7be5cb6423869967037d468d5355fa003f?s=96&d=mm&r=g\",\"caption\":\"Virtual-Servers-Vps-Editor\"},\"sameAs\":[\"https:\/\/virtualserversvps.com\/blog\"],\"url\":\"https:\/\/virtualserversvps.com\/blog\/author\/virtualserversvps\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Kernel Page Cache on a Small VPS: What Is Actually Cached, and How to Prove It - Virtual Servers VPS Blog","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:\/\/virtualserversvps.com\/blog\/kernel-page-cache-small-vps-behaviour\/","og_locale":"en_US","og_type":"article","og_title":"Kernel Page Cache on a Small VPS: What Is Actually Cached, and How to Prove It","og_description":"Kernel Page Cache on a Small VPS: What Is Actually Cached, and How to Prove It","og_url":"https:\/\/virtualserversvps.com\/blog\/kernel-page-cache-small-vps-behaviour\/","og_site_name":"Virtual Servers VPS Blog","article_published_time":"2026-09-13T23:10:28+00:00","article_modified_time":"2026-09-16T22:03:40+00:00","author":"Virtual-Servers-Vps-Editor","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Virtual-Servers-Vps-Editor","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/virtualserversvps.com\/blog\/kernel-page-cache-small-vps-behaviour\/","url":"https:\/\/virtualserversvps.com\/blog\/kernel-page-cache-small-vps-behaviour\/","name":"Kernel Page Cache on a Small VPS: What Is Actually Cached, and How to Prove It - Virtual Servers VPS Blog","isPartOf":{"@id":"https:\/\/virtualserversvps.com\/blog\/#website"},"datePublished":"2026-09-13T23:10:28+00:00","dateModified":"2026-09-16T22:03:40+00:00","author":{"@id":"https:\/\/virtualserversvps.com\/blog\/#\/schema\/person\/82a299a8284a66ff49f97c74684724a0"},"breadcrumb":{"@id":"https:\/\/virtualserversvps.com\/blog\/kernel-page-cache-small-vps-behaviour\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/virtualserversvps.com\/blog\/kernel-page-cache-small-vps-behaviour\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/virtualserversvps.com\/blog\/kernel-page-cache-small-vps-behaviour\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/virtualserversvps.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Kernel Page Cache on a Small VPS: What Is Actually Cached, and How to Prove It"}]},{"@type":"WebSite","@id":"https:\/\/virtualserversvps.com\/blog\/#website","url":"https:\/\/virtualserversvps.com\/blog\/","name":"Virtual Servers VPS Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/virtualserversvps.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/virtualserversvps.com\/blog\/#\/schema\/person\/82a299a8284a66ff49f97c74684724a0","name":"Virtual-Servers-Vps-Editor","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/virtualserversvps.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d820b15f1cd028e97610d9adf536df7be5cb6423869967037d468d5355fa003f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d820b15f1cd028e97610d9adf536df7be5cb6423869967037d468d5355fa003f?s=96&d=mm&r=g","caption":"Virtual-Servers-Vps-Editor"},"sameAs":["https:\/\/virtualserversvps.com\/blog"],"url":"https:\/\/virtualserversvps.com\/blog\/author\/virtualserversvps\/"}]}},"_links":{"self":[{"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/posts\/1122","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/comments?post=1122"}],"version-history":[{"count":2,"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/posts\/1122\/revisions"}],"predecessor-version":[{"id":1150,"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/posts\/1122\/revisions\/1150"}],"wp:attachment":[{"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/media?parent=1122"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/categories?post=1122"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/tags?post=1122"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}