{"id":21400,"date":"2026-09-22T07:03:52","date_gmt":"2026-09-21T23:03:52","guid":{"rendered":"https:\/\/synopower.club\/?p=21400"},"modified":"2026-09-22T07:05:13","modified_gmt":"2026-09-21T23:05:13","slug":"synology-vmm-pro-right-size-vm","status":"publish","type":"post","link":"https:\/\/synopower.club\/pt\/synology-vmm-pro-right-size-vm\/","title":{"rendered":"Synology VMM Pro: Dimensionando corretamente uma VM de produ\u00e7\u00e3o com IA (2026)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">The virtual machine that runs this shop spent months carrying twice the hardware it needed. Eight virtual CPUs, sixteen gigabytes of memory, and a real workload that never touched more than a quarter of either. That is not unusual. You size a guest generously on day one because you have no idea what it will need, the site works, and nobody ever goes back. This article is the log of going back. We cut that guest to four vCPUs and eight gigabytes using Synology <strong>VMM Pro<\/strong>, with an AI assistant driving the shell, and the store was unreachable for two minutes and seven seconds. The resize itself is the boring part \u2014 it is two fields in a dialog. The interesting parts are the measurement that proved eight gigabytes was enough, the order of operations that stops the guest from running out of memory on first boot, and the snapshot that made all of it reversible. VMM Pro makes each of those cheap, and that is the honest argument for it.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>SynoPower Club Point\uff1a<\/strong>Right-sizing is the least glamorous job in self-hosting and the one with the best return. Nobody writes a blog post about the eight gigabytes they gave back. But the memory sitting idle inside an oversized guest is not saving you anything \u2014 on a Synology it is pinned, so it cannot be used by anything else on the box. We got eight gigabytes back on a host that was starting to feel full, which is two more guests we no longer have to buy hardware for. What made it safe rather than frightening was VMM Pro underneath: a locked snapshot before the first command, and a machine I could put back the way it was in ninety seconds if any of this went wrong. It did not go wrong. But I would not have started without it.<\/p>\n<\/blockquote>\n\n\n<div class=\"wp-block-table-of-contents-block-table-of-contents-block\"><div class=\"eb-parent-wrapper eb-parent-eb-toc-a7d41 \"><div class=\"eb-toc-container eb-toc-a7d41  eb-toc-is-not-sticky eb-toc-collapsible eb-toc-initially-collapsed eb-toc-scrollToTop style-1 \" data-scroll-top=\"false\" data-scroll-top-icon=\"fas fa-angle-up\" data-collapsible=\"true\" data-sticky-hide-mobile=\"false\" data-sticky=\"false\" data-scroll-target=\"scroll_to_toc\" data-copy-link=\"false\" data-editor-type=\"\" data-hide-desktop=\"false\" data-hide-tab=\"false\" data-hide-mobile=\"false\" data-itemcollapsed=\"true\"><div class=\"eb-toc-header\"><div class=\"eb-toc-title\">Table of Contents<\/div><\/div><div class=\"eb-toc-wrapper hide-content\" data-headers=\"[{&quot;level&quot;:2,&quot;content&quot;:&quot;What Is Synology VMM Pro?&quot;,&quot;text&quot;:&quot;What Is Synology VMM Pro?&quot;,&quot;link&quot;:&quot;what-is-synology-vmm-pro&quot;},{&quot;level&quot;:2,&quot;content&quot;:&quot;VMM Pro vs the Free Edition: What the Upgrade Actually Buys&quot;,&quot;text&quot;:&quot;VMM Pro vs the Free Edition: What the Upgrade Actually Buys&quot;,&quot;link&quot;:&quot;vmm-pro-vs-the-free-edition-what-the-upgrade-actually-buys&quot;},{&quot;level&quot;:2,&quot;content&quot;:&quot;How a Production Guest Ends Up Twice the Size It Needs&quot;,&quot;text&quot;:&quot;How a Production Guest Ends Up Twice the Size It Needs&quot;,&quot;link&quot;:&quot;how-a-production-guest-ends-up-twice-the-size-it-needs&quot;},{&quot;level&quot;:2,&quot;content&quot;:&quot;Right-Sizing a Live Guest With VMM Pro in 4 Steps&quot;,&quot;text&quot;:&quot;Right-Sizing a Live Guest With VMM Pro in 4 Steps&quot;,&quot;link&quot;:&quot;right-sizing-a-live-guest-with-vmm-pro-in-4-steps&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;Take a locked snapshot before anything else&quot;,&quot;text&quot;:&quot;Take a locked snapshot before anything else&quot;,&quot;link&quot;:&quot;take-a-locked-snapshot-before-anything-else&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;Measure what the workload actually uses, not what the dashboard reports&quot;,&quot;text&quot;:&quot;Measure what the workload actually uses, not what the dashboard reports&quot;,&quot;link&quot;:&quot;measure-what-the-workload-actually-uses-not-what-the-dashboard-reports&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;Shrink the containers before you shrink the guest&quot;,&quot;text&quot;:&quot;Shrink the containers before you shrink the guest&quot;,&quot;link&quot;:&quot;shrink-the-containers-before-you-shrink-the-guest&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;Stop the containers cleanly, resize, and verify behaviour rather than settings&quot;,&quot;text&quot;:&quot;Stop the containers cleanly, resize, and verify behaviour rather than settings&quot;,&quot;link&quot;:&quot;stop-the-containers-cleanly-resize-and-verify-behaviour-rather-than-settings&quot;},{&quot;level&quot;:2,&quot;content&quot;:&quot;Why docker stats Will Talk You Out of the Right Answer&quot;,&quot;text&quot;:&quot;Why docker stats Will Talk You Out of the Right Answer&quot;,&quot;link&quot;:&quot;why-docker-stats-will-talk-you-out-of-the-right-answer&quot;},{&quot;level&quot;:2,&quot;content&quot;:&quot;How a Small Team Uses VMM Pro to Reclaim a Whole Server&quot;,&quot;text&quot;:&quot;How a Small Team Uses VMM Pro to Reclaim a Whole Server&quot;,&quot;link&quot;:&quot;how-a-small-team-uses-vmm-pro-to-reclaim-a-whole-server&quot;},{&quot;level&quot;:2,&quot;content&quot;:&quot;The Order of Operations That Prevents a Boot-Time Out-of-Memory Loop&quot;,&quot;text&quot;:&quot;The Order of Operations That Prevents a Boot-Time Out-of-Memory Loop&quot;,&quot;link&quot;:&quot;the-order-of-operations-that-prevents-a-boot-time-out-of-memory-loop&quot;},{&quot;level&quot;:2,&quot;content&quot;:&quot;What the AI Assistant Actually Did, and Where It Was Wrong&quot;,&quot;text&quot;:&quot;What the AI Assistant Actually Did, and Where It Was Wrong&quot;,&quot;link&quot;:&quot;what-the-ai-assistant-actually-did-and-where-it-was-wrong&quot;},{&quot;level&quot;:2,&quot;content&quot;:&quot;Where to Find More Official Resources&quot;,&quot;text&quot;:&quot;Where to Find More Official Resources&quot;,&quot;link&quot;:&quot;where-to-find-more-official-resources&quot;},{&quot;level&quot;:2,&quot;content&quot;:&quot;Limits to Know Before You Trust VMM Pro With Production&quot;,&quot;text&quot;:&quot;Limits to Know Before You Trust VMM Pro With Production&quot;,&quot;link&quot;:&quot;limits-to-know-before-you-trust-vmm-pro-with-production&quot;},{&quot;level&quot;:2,&quot;content&quot;:&quot;References&quot;,&quot;text&quot;:&quot;References&quot;,&quot;link&quot;:&quot;references&quot;},{&quot;level&quot;:2,&quot;content&quot;:&quot;Frequently Asked Questions&quot;,&quot;text&quot;:&quot;Frequently Asked Questions&quot;,&quot;link&quot;:&quot;frequently-asked-questions&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;Is VMM Pro worth it for a single NAS?&quot;,&quot;text&quot;:&quot;Is VMM Pro worth it for a single NAS?&quot;,&quot;link&quot;:&quot;is-vmm-pro-worth-it-for-a-single-nas&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;Can I shrink a Synology virtual machine without downtime?&quot;,&quot;text&quot;:&quot;Can I shrink a Synology virtual machine without downtime?&quot;,&quot;link&quot;:&quot;can-i-shrink-a-synology-virtual-machine-without-downtime&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;How do I tell how much memory a container really needs?&quot;,&quot;text&quot;:&quot;How do I tell how much memory a container really needs?&quot;,&quot;link&quot;:&quot;how-do-i-tell-how-much-memory-a-container-really-needs&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;What order should I change container limits and guest memory in?&quot;,&quot;text&quot;:&quot;What order should I change container limits and guest memory in?&quot;,&quot;link&quot;:&quot;what-order-should-i-change-container-limits-and-guest-memory-in&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;Does a locked snapshot in VMM Pro count against my retention?&quot;,&quot;text&quot;:&quot;Does a locked snapshot in VMM Pro count against my retention?&quot;,&quot;link&quot;:&quot;does-a-locked-snapshot-in-vmm-pro-count-against-my-retention&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;Is it safe to let an AI assistant resize a production virtual machine?&quot;,&quot;text&quot;:&quot;Is it safe to let an AI assistant resize a production virtual machine?&quot;,&quot;link&quot;:&quot;is-it-safe-to-let-an-ai-assistant-resize-a-production-virtual-machine&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;What did right-sizing actually save?&quot;,&quot;text&quot;:&quot;What did right-sizing actually save?&quot;,&quot;link&quot;:&quot;what-did-right-sizing-actually-save&quot;},{&quot;level&quot;:3,&quot;content&quot;:&quot;Can Virtual DSM run Docker, and does resizing the guest affect the containers?&quot;,&quot;text&quot;:&quot;Can Virtual DSM run Docker, and does resizing the guest affect the containers?&quot;,&quot;link&quot;:&quot;can-virtual-dsm-run-docker-and-does-resizing-the-guest-affect-the-containers&quot;}]\" data-visible=\"[false,true,true,true,false,false]\" data-delete-headers=\"[{&quot;label&quot;:&quot;What Is Synology VMM Pro?&quot;,&quot;value&quot;:&quot;what-is-synology-vmm-pro&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;VMM Pro vs the Free Edition: What the Upgrade Actually Buys&quot;,&quot;value&quot;:&quot;vmm-pro-vs-the-free-edition-what-the-upgrade-actually-buys&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;How a Production Guest Ends Up Twice the Size It Needs&quot;,&quot;value&quot;:&quot;how-a-production-guest-ends-up-twice-the-size-it-needs&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Right-Sizing a Live Guest With VMM Pro in 4 Steps&quot;,&quot;value&quot;:&quot;right-sizing-a-live-guest-with-vmm-pro-in-4-steps&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Take a locked snapshot before anything else&quot;,&quot;value&quot;:&quot;take-a-locked-snapshot-before-anything-else&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Measure what the workload actually uses, not what the dashboard reports&quot;,&quot;value&quot;:&quot;measure-what-the-workload-actually-uses-not-what-the-dashboard-reports&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Shrink the containers before you shrink the guest&quot;,&quot;value&quot;:&quot;shrink-the-containers-before-you-shrink-the-guest&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Stop the containers cleanly, resize, and verify behaviour rather than settings&quot;,&quot;value&quot;:&quot;stop-the-containers-cleanly-resize-and-verify-behaviour-rather-than-settings&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Why docker stats Will Talk You Out of the Right Answer&quot;,&quot;value&quot;:&quot;why-docker-stats-will-talk-you-out-of-the-right-answer&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;How a Small Team Uses VMM Pro to Reclaim a Whole Server&quot;,&quot;value&quot;:&quot;how-a-small-team-uses-vmm-pro-to-reclaim-a-whole-server&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;The Order of Operations That Prevents a Boot-Time Out-of-Memory Loop&quot;,&quot;value&quot;:&quot;the-order-of-operations-that-prevents-a-boot-time-out-of-memory-loop&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;What the AI Assistant Actually Did, and Where It Was Wrong&quot;,&quot;value&quot;:&quot;what-the-ai-assistant-actually-did-and-where-it-was-wrong&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Where to Find More Official Resources&quot;,&quot;value&quot;:&quot;where-to-find-more-official-resources&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Limits to Know Before You Trust VMM Pro With Production&quot;,&quot;value&quot;:&quot;limits-to-know-before-you-trust-vmm-pro-with-production&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;References&quot;,&quot;value&quot;:&quot;references&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Frequently Asked Questions&quot;,&quot;value&quot;:&quot;frequently-asked-questions&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Is VMM Pro worth it for a single NAS?&quot;,&quot;value&quot;:&quot;is-vmm-pro-worth-it-for-a-single-nas&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Can I shrink a Synology virtual machine without downtime?&quot;,&quot;value&quot;:&quot;can-i-shrink-a-synology-virtual-machine-without-downtime&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;How do I tell how much memory a container really needs?&quot;,&quot;value&quot;:&quot;how-do-i-tell-how-much-memory-a-container-really-needs&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;What order should I change container limits and guest memory in?&quot;,&quot;value&quot;:&quot;what-order-should-i-change-container-limits-and-guest-memory-in&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Does a locked snapshot in VMM Pro count against my retention?&quot;,&quot;value&quot;:&quot;does-a-locked-snapshot-in-vmm-pro-count-against-my-retention&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Is it safe to let an AI assistant resize a production virtual machine?&quot;,&quot;value&quot;:&quot;is-it-safe-to-let-an-ai-assistant-resize-a-production-virtual-machine&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;What did right-sizing actually save?&quot;,&quot;value&quot;:&quot;what-did-right-sizing-actually-save&quot;,&quot;isDelete&quot;:false},{&quot;label&quot;:&quot;Can Virtual DSM run Docker, and does resizing the guest affect the containers?&quot;,&quot;value&quot;:&quot;can-virtual-dsm-run-docker-and-does-resizing-the-guest-affect-the-containers&quot;,&quot;isDelete&quot;:false}]\" data-smooth=\"true\" data-top-offset=\"\"><div class=\"eb-toc__list-wrap\"><ul class=\"eb-toc__list\"><li><a href=\"#what-is-synology-vmm-pro\">What Is Synology VMM Pro?<\/a><li><a href=\"#vmm-pro-vs-the-free-edition-what-the-upgrade-actually-buys\">VMM Pro vs the Free Edition: What the Upgrade Actually Buys<\/a><li><a href=\"#how-a-production-guest-ends-up-twice-the-size-it-needs\">How a Production Guest Ends Up Twice the Size It Needs<\/a><li><a href=\"#right-sizing-a-live-guest-with-vmm-pro-in-4-steps\">Right-Sizing a Live Guest With VMM Pro in 4 Steps<\/a><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"18\" height=\"18\" viewbox=\"0 0 18 18\" fill=\"none\">\n                    <path d=\"M6.75 9.75L9 7.5L11.25 9.75\" stroke=\"#252D3B\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\n                    <path d=\"M9 15.75C9.88642 15.75 10.7642 15.5754 11.5831 15.2362C12.4021 14.897 13.1462 14.3998 13.773 13.773C14.3998 13.1462 14.897 12.4021 15.2362 11.5831C15.5754 10.7642 15.75 9.88642 15.75 9C15.75 8.11358 15.5754 7.23583 15.2362 6.41689C14.897 5.59794 14.3998 4.85383 13.773 4.22703C13.1462 3.60023 12.4021 3.10303 11.5831 2.76381C10.7642 2.42459 9.88642 2.25 9 2.25C7.20979 2.25 5.4929 2.96116 4.22703 4.22703C2.96116 5.4929 2.25 7.20979 2.25 9C2.25 10.7902 2.96116 12.5071 4.22703 13.773C5.4929 15.0388 7.20979 15.75 9 15.75Z\" stroke=\"#252D3B\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\n                    <\/svg><ul class=\"eb-toc__list\"><li><a href=\"#take-a-locked-snapshot-before-anything-else\">Take a locked snapshot before anything else<\/a><li><a href=\"#measure-what-the-workload-actually-uses-not-what-the-dashboard-reports\">Measure what the workload actually uses, not what the dashboard reports<\/a><li><a href=\"#shrink-the-containers-before-you-shrink-the-guest\">Shrink the containers before you shrink the guest<\/a><li><a href=\"#stop-the-containers-cleanly-resize-and-verify-behaviour-rather-than-settings\">Stop the containers cleanly, resize, and verify behaviour rather than settings<\/a><\/li><\/ul><li><a href=\"#why-docker-stats-will-talk-you-out-of-the-right-answer\">Why docker stats Will Talk You Out of the Right Answer<\/a><li><a href=\"#how-a-small-team-uses-vmm-pro-to-reclaim-a-whole-server\">How a Small Team Uses VMM Pro to Reclaim a Whole Server<\/a><li><a href=\"#the-order-of-operations-that-prevents-a-boot-time-out-of-memory-loop\">The Order of Operations That Prevents a Boot-Time Out-of-Memory Loop<\/a><li><a href=\"#what-the-ai-assistant-actually-did-and-where-it-was-wrong\">What the AI Assistant Actually Did, and Where It Was Wrong<\/a><li><a href=\"#where-to-find-more-official-resources\">Where to Find More Official Resources<\/a><li><a href=\"#limits-to-know-before-you-trust-vmm-pro-with-production\">Limits to Know Before You Trust VMM Pro With Production<\/a><li><a href=\"#references\">References<\/a><li><a href=\"#frequently-asked-questions\">Frequently Asked Questions<\/a><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"18\" height=\"18\" viewbox=\"0 0 18 18\" fill=\"none\">\n                    <path d=\"M6.75 9.75L9 7.5L11.25 9.75\" stroke=\"#252D3B\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\n                    <path d=\"M9 15.75C9.88642 15.75 10.7642 15.5754 11.5831 15.2362C12.4021 14.897 13.1462 14.3998 13.773 13.773C14.3998 13.1462 14.897 12.4021 15.2362 11.5831C15.5754 10.7642 15.75 9.88642 15.75 9C15.75 8.11358 15.5754 7.23583 15.2362 6.41689C14.897 5.59794 14.3998 4.85383 13.773 4.22703C13.1462 3.60023 12.4021 3.10303 11.5831 2.76381C10.7642 2.42459 9.88642 2.25 9 2.25C7.20979 2.25 5.4929 2.96116 4.22703 4.22703C2.96116 5.4929 2.25 7.20979 2.25 9C2.25 10.7902 2.96116 12.5071 4.22703 13.773C5.4929 15.0388 7.20979 15.75 9 15.75Z\" stroke=\"#252D3B\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\n                    <\/svg><ul class=\"eb-toc__list\"><li><a href=\"#is-vmm-pro-worth-it-for-a-single-nas\">Is VMM Pro worth it for a single NAS?<\/a><li><a href=\"#can-i-shrink-a-synology-virtual-machine-without-downtime\">Can I shrink a Synology virtual machine without downtime?<\/a><li><a href=\"#how-do-i-tell-how-much-memory-a-container-really-needs\">How do I tell how much memory a container really needs?<\/a><li><a href=\"#what-order-should-i-change-container-limits-and-guest-memory-in\">What order should I change container limits and guest memory in?<\/a><li><a href=\"#does-a-locked-snapshot-in-vmm-pro-count-against-my-retention\">Does a locked snapshot in VMM Pro count against my retention?<\/a><li><a href=\"#is-it-safe-to-let-an-ai-assistant-resize-a-production-virtual-machine\">Is it safe to let an AI assistant resize a production virtual machine?<\/a><li><a href=\"#what-did-right-sizing-actually-save\">What did right-sizing actually save?<\/a><li><a href=\"#can-virtual-dsm-run-docker-and-does-resizing-the-guest-affect-the-containers\">Can Virtual DSM run Docker, and does resizing the guest affect the containers?<\/a><\/li><\/ul><\/ul><\/div><\/div><\/div><\/div><\/div>\n\n\n<h2 id=\"what-is-synology-vmm-pro\" class=\"wp-block-heading\">What Is Synology VMM Pro?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Virtual Machine Manager is Synology\u2019s hypervisor package. It installs from Package Center, it is free, and on a single NAS it will happily run Linux, Windows and Virtual DSM guests with local snapshots. <strong>VMM Pro<\/strong> is the paid upgrade that turns that single-box hypervisor into a small cluster: several NAS units managed as one pool, guests that can move between them, high availability, and snapshot replication from one host to another.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The distinction matters for this article because right-sizing is a capacity decision, and capacity only becomes interesting once you have more than one machine in the pot. On a single NAS, memory you free up is memory that sits unused on that NAS. In a VMM Pro cluster it is memory that another host can borrow during a failover, or that a new guest can be built into without buying anything.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A <a href=\"https:\/\/synopower.club\/virtual-dsm-vdsm-license-pack\/\" target=\"_blank\" rel=\"noreferrer noopener\">Virtual DSM<\/a> guest \u2014 a full DSM installation running as a virtual machine \u2014 is the workload we resized here. It runs Container Manager, which runs the two Docker containers behind this store. That layering is deliberate and it is what made the job safe. We covered moving a Docker stack between guests in <a href=\"https:\/\/synopower.club\/synology-vdsm-docker-migration\/\">our VDSM Docker migration walkthrough<\/a>; this article is about making the guest underneath it the right size.<\/p>\n\n\n\n<h2 id=\"vmm-pro-vs-the-free-edition\" class=\"wp-block-heading\">VMM Pro vs the Free Edition: What the Upgrade Actually Buys<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The free edition is not a crippled demo. It runs production guests, it takes snapshots, and for a single NAS it is genuinely all most people need. What you are buying with <strong>VMM Pro<\/strong> is not features on a guest, it is features across hosts.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Capability<\/th><th>Free edition<\/th><th>VMM Pro<\/th><\/tr><\/thead><tbody><tr><td>Run guests on one NAS<\/td><td>Yes<\/td><td>Yes<\/td><\/tr><tr><td>Local snapshots<\/td><td>Yes<\/td><td>Yes<\/td><\/tr><tr><td>Several NAS units as one cluster<\/td><td>No<\/td><td>Yes<\/td><\/tr><tr><td>Move a guest between hosts<\/td><td>No<\/td><td>Yes<\/td><\/tr><tr><td>High availability failover<\/td><td>No<\/td><td>Yes<\/td><\/tr><tr><td>Replicate snapshots to another host<\/td><td>No<\/td><td>Yes<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Check the official feature page linked in the references before you buy, because Synology does revise the edition split between DSM releases. The practical test is simpler than the table: if you own one NAS and you are happy restoring from a snapshot by hand, the free edition is fine. The moment you own a second NAS and you want the first one\u2019s guests to survive it dying, you want a <a href=\"https:\/\/synopower.club\/synology-vmm-pro-license\/\" target=\"_blank\" rel=\"noreferrer noopener\">VMM Pro license<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Our cluster is three nodes, and only two of them are powered on most of the time. The third is a cold standby that wakes on a schedule to receive replicated snapshots and goes back to sleep. That pattern \u2014 pay for electricity only when you need the redundancy \u2014 is a VMM Pro pattern, and it is the reason the console shows a permanent warning about a host it cannot reach. The warning is the design working, not a fault.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-a221f4eb wp-block-buttons-is-layout-flex\" style=\"border-style:none;border-width:0px;border-radius:0px;margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50);padding-top:var(--wp--preset--spacing--40);padding-right:0;padding-bottom:var(--wp--preset--spacing--40);padding-left:0\">\n<div class=\"wp-block-button is-style-fill\"><a class=\"wp-block-button__link has-palette-color-4-color has-luminous-vivid-amber-background-color has-text-color has-background has-link-color wp-element-button\" href=\"https:\/\/synopower.club\/synology-vmm-pro-license\/\" style=\"border-radius:15px\" target=\"_blank\" rel=\"noreferrer noopener\">Get a VMM Pro license &#8211; delivered in seconds<\/a><\/div>\n<\/div>\n\n\n\n<h2 id=\"how-a-guest-ends-up-oversized\" class=\"wp-block-heading\">How a Production Guest Ends Up Twice the Size It Needs<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Three things push guests upward and nothing pushes them back down. The first is that the initial size is a guess, and a generous guess costs nothing on day one. The second is that every incident ends with someone raising a limit. Ours had two memory incidents in one week; both were fixed by giving something more room, and neither was ever revisited. The third is that a dashboard showing eighty per cent memory use looks alarming, so nobody volunteers to take memory away. None of that is a VMM Pro problem. It is a human one, and it is why oversized guests are the norm.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That last one is the trap, and it is worth saying plainly: the number most people look at to decide whether a container has room is the wrong number. Ours said the database container was at eighty-one per cent of its limit. It was not. Section five is entirely about why, and about the measurement that turned the VMM Pro resize into a safe decision rather than a hopeful one.<\/p>\n\n\n\n<h2 id=\"right-sizing-a-live-guest-in-4-steps\" class=\"wp-block-heading\">Right-Sizing a Live Guest With VMM Pro in 4 Steps<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The whole job is four steps, and only the third one takes the site offline. Total downtime for us was two minutes and seven seconds, measured from the moment the containers stopped to the first HTTP 200 after the guest came back. <strong>VMM Pro<\/strong> is involved in steps one and three; the middle step happens inside the guest.<\/p>\n\n\n<div id=\"rank-math-howto\" class=\"rank-math-block\" >\n<div class=\"rank-math-howto-description\">\n\n<\/div>\n\n<div class=\"rank-math-steps \">\n<div id=\"step-1\" class=\"rank-math-step\">\n<h3 class=\"rank-math-step-title \">Take a locked snapshot before anything else<\/h3>\n<div class=\"rank-math-step-content \"><p>Snapshot the guest from VMM Pro and mark it as locked so scheduled snapshot rotation cannot delete it. This is your undo button for every step that follows, and it captures the whole machine rather than one folder. Give it a description that says what you were about to do, because in three months the timestamp alone will mean nothing to you.<\/p>\n<\/div>\n<\/div>\n<div id=\"step-2\" class=\"rank-math-step\">\n<h3 class=\"rank-math-step-title \">Measure what the workload actually uses, not what the dashboard reports<\/h3>\n<div class=\"rank-math-step-content \"><p>Read the cgroup memory statistics inside each container and separate anonymous memory from page cache. Only anonymous memory is unreclaimable, and only that number should drive your sizing. Check the database buffer pool against the real size of the database while you are there. Ours had a three gigabyte buffer pool in front of a database of six hundred and sixty-three megabytes.<\/p>\n<\/div>\n<\/div>\n<div id=\"step-3\" class=\"rank-math-step\">\n<h3 class=\"rank-math-step-title \">Shrink the containers before you shrink the guest<\/h3>\n<div class=\"rank-math-step-content \"><p>Lower the application and database memory limits first, and sync the same values into your compose file so a later rebuild does not undo them. A container whose current usage already exceeds the new limit cannot simply be capped &#8211; change its configuration and restart it so it comes back smaller, then apply the lower limit. Getting this order wrong is how you produce an out-of-memory loop on first boot.<\/p>\n<\/div>\n<\/div>\n<div id=\"step-4\" class=\"rank-math-step\">\n<h3 class=\"rank-math-step-title \">Stop the containers cleanly, resize, and verify behaviour rather than settings<\/h3>\n<div class=\"rank-math-step-content \"><p>Stop the database container with a generous timeout and confirm a clean shutdown in its log, so the guest does not boot into crash recovery. Shut the guest down, set the new vCPU and memory values in VMM Pro, and power it back on. Then verify the thing users touch: real pages returning 200, correct prices, no out-of-memory events &#8211; not just the numbers you typed into the dialog.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"458\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-locked-snapshot.png\" alt=\"A locked VMM Pro snapshot taken before resizing the production guest\" class=\"wp-image-21396\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-locked-snapshot.png 1000w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-locked-snapshot-300x137.png 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-locked-snapshot-768x352.png 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-locked-snapshot-18x8.png 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-locked-snapshot-400x183.png 400w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\">The locked snapshot from step one. The padlock is what keeps scheduled rotation from deleting it.<\/figcaption><\/figure>\n\n\n\n<h2 id=\"why-docker-stats-misleads\" class=\"wp-block-heading\">Why docker stats Will Talk You Out of the Right Answer<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Before the resize, the container dashboard looked like a machine with no room to give:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker stats\n  WordPress      2.51 GiB \/ 7 GiB    (35.9%)\n  WordPress-DB   3.25 GiB \/ 4 GiB    (81.1%)   &lt;-- looks nearly full<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Read that and you conclude the database needs its four gigabytes and the guest cannot go below twelve. Both conclusions are wrong, because the memory usage those tools report includes page cache, and page cache is reclaimed automatically the moment anything else needs the memory. The number that decides whether you get an out-of-memory kill is anonymous memory. Read it directly:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker exec &lt;container&gt; sh -c \n  'awk \"\/^(cache|rss) \/{printf \"%-8s %8.0f MBn\", $1, $2\/1048576}\" \n   \/sys\/fs\/cgroup\/memory\/memory.stat'\n\n  WordPress      rss 1305 MB    cache 1609 MB\n  WordPress-DB   rss 2553 MB    cache 1543 MB<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Now the picture inverts. The application container is genuinely using 1.3 GB, not 2.5 GB. And of that 1.3 GB, 768 MB is a single shared opcode cache that every worker process maps rather than copies \u2014 so twenty worker processes were costing roughly twenty-seven megabytes each, not the two hundred and fifty megabytes a naive sum of process memory suggests. The database\u2019s 2.5 GB was almost entirely a buffer pool sized at three gigabytes for a database of 663 MB.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">One more trap in the same family: the historical peak counter will happily show a container that touched its ceiling, because that counter also includes page cache. Both of ours had. Neither had ever been out-of-memory killed. Check the out-of-memory counter, not the high-water mark.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With those two facts in hand, eight gigabytes stopped being a risky number. Dropping the buffer pool to one gigabyte \u2014 still comfortably larger than the entire database \u2014 freed more real memory than the resize needed. The number we eventually typed into VMM Pro was already proven before the guest was shut down.<\/p>\n\n\n\n<h2 id=\"how-a-small-team-reclaims-capacity\" class=\"wp-block-heading\">How a Small Team Uses VMM Pro to Reclaim a Whole Server<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Memory in a Synology guest is pinned. The hypervisor locks and pre-allocates it, which means you cannot oversubscribe it the way you can on some other platforms. Sixteen gigabytes assigned to a guest is sixteen gigabytes no other guest can have, whether the guest is busy or idle. That constraint is what makes right-sizing worth doing on <strong>VMM Pro<\/strong> specifically: freeing memory is the only way to create capacity short of buying a NAS.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1568\" height=\"755\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-host-capacity-reclaimed.png\" alt=\"VMM Pro cluster view showing host memory available after right-sizing the guest\" class=\"wp-image-21398\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-host-capacity-reclaimed.png 1568w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-host-capacity-reclaimed-300x144.png 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-host-capacity-reclaimed-1024x493.png 1024w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-host-capacity-reclaimed-768x370.png 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-host-capacity-reclaimed-1536x740.png 1536w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-host-capacity-reclaimed-18x9.png 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-host-capacity-reclaimed-400x193.png 400w\" \/><figcaption class=\"wp-element-caption\">The VMM Pro cluster view after the resize. Reserved memory for virtual machines dropped from 19.74 GB to 11.74 GB.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Eight gigabytes came back on a host with 46.83 GB total. Available memory went from roughly twenty-two gigabytes to 30.29 GB. In practical terms that is two more guests of the size we actually run, created out of nothing but measurement. On a three-node cluster it also means the surviving hosts have more headroom to absorb the guests of a node that fails, which is the whole point of paying for VMM Pro in the first place.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The CPU side told the same story more bluntly. The guest had eight virtual CPUs and was using about a sixth of one core at rest. Four was not a compromise; four is still generous, and VMM Pro applied it in a single field. Since the resize the guest sits at a load average of 1.36 against four vCPUs, which is roughly a third utilized at the busiest part of the day.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1568\" height=\"755\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-guest-right-sized.png\" alt=\"Synology VMM Pro showing the right-sized guest at 4 vCPU and 8 GB of memory\" class=\"wp-image-21395\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-guest-right-sized.png 1568w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-guest-right-sized-300x144.png 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-guest-right-sized-1024x493.png 1024w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-guest-right-sized-768x370.png 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-guest-right-sized-1536x740.png 1536w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-guest-right-sized-18x9.png 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-guest-right-sized-400x193.png 400w\" \/><figcaption class=\"wp-element-caption\">The guest after the change: four cores, eight gigabytes, and thirty-eight snapshots behind it.<\/figcaption><\/figure>\n\n\n\n<h2 id=\"order-of-operations\" class=\"wp-block-heading\">The Order of Operations That Prevents a Boot-Time Out-of-Memory Loop<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This is the part that is easy to get wrong and expensive to get wrong. Container memory limits and the guest memory you set in VMM Pro are two separate ceilings, and if the sum of the container limits exceeds the guest\u2019s memory, you have told the containers they may use more than the machine has. Under load the kernel resolves that disagreement by killing something.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Our limits before the change were seven gigabytes for the application container and four for the database \u2014 eleven gigabytes on a sixteen gigabyte guest, which was fine. On an eight gigabyte guest it would have been an incident waiting for its first traffic spike. So the containers had to come down first:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Setting<\/th><th>Before<\/th><th>After<\/th><\/tr><\/thead><tbody><tr><td>Guest<\/td><td>8 vCPU \/ 16 GB<\/td><td>4 vCPU \/ 8 GB<\/td><\/tr><tr><td>Application container limit<\/td><td>7168 MB<\/td><td>4096 MB<\/td><\/tr><tr><td>Database container limit<\/td><td>4096 MB<\/td><td>2048 MB<\/td><\/tr><tr><td>Database buffer pool<\/td><td>3 GB<\/td><td>1 GB<\/td><\/tr><tr><td>Database max connections<\/td><td>300<\/td><td>100<\/td><\/tr><tr><td>Apache worker ceiling<\/td><td>50<\/td><td>35<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">There is a second-order rule hiding in that table. You cannot lower a container\u2019s memory limit below what it is currently using and expect the kernel to be polite about it. The application container was using less than its new limit, so it was capped live with no restart and no downtime. The database container was using more, so its buffer pool had to be reconfigured and the container restarted first; only then could the lower limit be applied. Neither of those steps happens in VMM Pro \u2014 both have to be finished before you open the resize dialog.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1568\" height=\"294\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-container-memory-limit.png\" alt=\"Container Manager showing the WordPress container memory limit lowered to 4 GB\" class=\"wp-image-21397\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-container-memory-limit.png 1568w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-container-memory-limit-300x56.png 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-container-memory-limit-1024x192.png 1024w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-container-memory-limit-768x144.png 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-container-memory-limit-1536x288.png 1536w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-container-memory-limit-18x3.png 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/09\/vmm-pro-container-memory-limit-400x75.png 400w\" \/><figcaption class=\"wp-element-caption\">The application container after the change, with its start time matching the guest reboot.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The worker ceiling is the one real cost of the whole exercise, and it deserves to be stated rather than buried. Cutting the application container from seven gigabytes to four means fewer concurrent requests can be in flight: fifty down to thirty-five, a thirty per cent reduction in peak concurrency. Day to day the site runs eleven workers, so nothing changed. During an advertising burst it might. That is a trade we made knowingly, and it is written down so the next person does not rediscover it during an outage.<\/p>\n\n\n\n<h2 id=\"what-the-ai-actually-did\" class=\"wp-block-heading\">What the AI Assistant Actually Did, and Where It Was Wrong<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The assistant did the parts that reward patience: it took the VMM Pro snapshot before touching anything, read the cgroup statistics rather than trusting the dashboard, worked out the ordering constraint on the container limits, and verified the result by fetching real pages and checking that prices still rendered in the right currency. That is perhaps forty minutes of careful work compressed into a few minutes, and it is genuinely useful.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It was also wrong three times in one session, which is the more useful half of the story.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>It recommended ten gigabytes when the owner asked for eight. The owner was right \u2014 but only because the oversized buffer pool was fixed at the same time. The assistant had the measurement in front of it and still anchored on the safer number.<\/li>\n\n\n\n<li>It renamed the guest, read <code>success: true<\/code> from the API, and reported the rename as done. It had not been renamed. The rename field it used was the one that identifies the guest, not the one that changes its name, and the API returns success either way.<\/li>\n\n\n\n<li>It saw a VMM Pro cluster warning about an unreachable host and flagged it as a degraded failover path. The host was a cold standby that is deliberately powered off. The alert had been there for months by design.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The pattern in all three is the same: confident output from a plausible check. The guardrails that actually matter are therefore unglamorous. Take the snapshot first, every time, before the first command rather than before the risky one. Never accept a return value as proof \u2014 read the state back and look at the field you meant to change. And verify behaviour, not settings: a page that loads and a price that is correct beat any number of confirmations that a command exited zero.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">None of that is specific to AI. It is the same discipline you would want from a new colleague with root access who is fast, tireless, and occasionally sure about something that is not true.<\/p>\n\n\n\n<h2 id=\"official-resources\" class=\"wp-block-heading\">Where to Find More Official Resources<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Three videos worth the time before you resize anything with VMM Pro. The first is the best overview of the package itself; the other two cover creating and licensing guests, which is where most people get stuck on their first attempt.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Synology Virtual Machine Manager Walkthrough\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/l-qOXRUvBcc?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">A walkthrough of Virtual Machine Manager, the package VMM Pro upgrades.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Synology DSM Virtual Machine\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/w7rc1pWHIiU?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Creating a DSM virtual machine from scratch, including the license prompt.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Install Synology DSM on Virtual Machine Manger - DSM 6.1\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/Nnk5OKgtwXo?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">An older but still accurate look at installing Virtual DSM inside Virtual Machine Manager.<\/figcaption><\/figure>\n\n\n\n<h2 id=\"limits-to-know\" class=\"wp-block-heading\">Limits to Know Before You Trust VMM Pro With Production<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Memory cannot be oversubscribed. Every gigabyte you assign is locked away from everything else on the NAS, busy or not. This is the constraint that makes right-sizing valuable, and it is also the reason a generous guess on day one is more expensive here than on platforms that allow overcommitment.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Shrinking memory needs a reboot, because VMM Pro will not take memory away from a running guest. Growing a virtual disk happens live, and so does growing some resources, but taking memory away means shutting the guest down. Budget a short outage and schedule it; two minutes is achievable but it is not zero.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Virtual disks grow and never shrink. If you over-allocated storage rather than memory, <strong>VMM Pro<\/strong> will not give it back. The only route is building a new guest and migrating into it, which is a much longer afternoon than this one was.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">CPU limits inside containers may not work at all. On this guest the kernel has no CFS bandwidth control, so container CPU quotas are rejected outright \u2014 and worse, attempting to set one in the same command as a memory limit makes the whole command fail silently. Memory limits and the application\u2019s own worker ceiling are the only CPU protection available.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A snapshot is not a backup. It lives on the same host and the same storage pool as the guest it protects. VMM Pro can replicate snapshots to another host, which is closer, but the thing that survives a building fire is still an off-site backup of the data itself.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, watch what the console shows. Container detail pages display environment variables in plain text, database passwords included. That is Docker being honest rather than a flaw in the package, but it means a single screenshot of the wrong page publishes a credential. If that bothers you \u2014 it should \u2014 move secrets into a file the container reads instead of passing them as variables.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-a221f4eb wp-block-buttons-is-layout-flex\" style=\"border-style:none;border-width:0px;border-radius:0px;margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50);padding-top:var(--wp--preset--spacing--40);padding-right:0;padding-bottom:var(--wp--preset--spacing--40);padding-left:0\">\n<div class=\"wp-block-button is-style-fill\"><a class=\"wp-block-button__link has-palette-color-4-color has-luminous-vivid-amber-background-color has-text-color has-background has-link-color wp-element-button\" href=\"https:\/\/synopower.club\/virtual-dsm-vdsm-license-pack\/\" style=\"border-radius:15px\" target=\"_blank\" rel=\"noreferrer noopener\">Need a Virtual DSM license too? Get the code in seconds<\/a><\/div>\n<\/div>\n\n\n\n<h2 id=\"references\" class=\"wp-block-heading\">References<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/synopower.club\/\" target=\"_blank\" rel=\"noreferrer noopener\">SynoPower Club<\/a>, our Synology NAS guides and camera reviews<\/li>\n\n\n\n<li><a href=\"https:\/\/www.synology.com\/en-global\/dsm\/feature\/virtual_machine_manager\" target=\"_blank\" rel=\"noreferrer noopener\">Synology \u2014 Virtual Machine Manager<\/a>, the official feature and edition comparison<\/li>\n\n\n\n<li><a href=\"https:\/\/kb.synology.com\/en-global\/DSM\/help\/Virtualization\/virtualization_desc\" target=\"_blank\" rel=\"noreferrer noopener\">Synology Knowledge Center \u2014 Virtual Machine Manager help<\/a>, guest settings and cluster setup<\/li>\n\n\n\n<li><a href=\"https:\/\/docs.docker.com\/reference\/cli\/docker\/container\/update\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Docker \u2014 docker container update<\/a>, changing a running container\u2019s memory limit<\/li>\n\n\n\n<li><a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/mod\/mpm_common.html#maxrequestworkers\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Apache \u2014 MaxRequestWorkers<\/a>, the worker ceiling discussed in section seven<\/li>\n<\/ul>\n\n\n\n<h2 id=\"frequently-asked-questions\" class=\"wp-block-heading\">Frequently Asked Questions<\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-1\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Is VMM Pro worth it for a single NAS?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Probably not. Virtual Machine Manager is free and the free edition runs production guests with local snapshots on one box. VMM Pro pays for itself once you have a second NAS and want guests to move between hosts, fail over automatically, or replicate their snapshots somewhere other than the machine they run on.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-2\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Can I shrink a Synology virtual machine without downtime?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>No. Memory is locked and pre-allocated on a Synology host, so VMM Pro cannot reduce it live and the guest has to be shut down. Ours was unreachable for two minutes and seven seconds end to end, including a clean database shutdown beforehand. Growing a virtual disk, by contrast, does happen while the guest is running.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-3\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">How do I tell how much memory a container really needs?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Read the cgroup memory statistics inside the container and look at the anonymous memory figure, not the total reported by monitoring tools. Total usage includes page cache, which the kernel reclaims on demand. Our database container reported 3.25 GB of a 4 GB limit but held only 2.55 GB of unreclaimable memory, most of which was an oversized buffer pool.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-4\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">What order should I change container limits and guest memory in?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Containers first, guest second &#8211; do not open the VMM Pro resize dialog until the container limits fit. If the container limits add up to more than the guest will have, the guest can run out of memory on first boot. Also note that a container already using more than the new limit cannot simply be capped: reconfigure it and restart it so it comes back smaller, then lower the limit.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-5\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Does a locked snapshot in VMM Pro count against my retention?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Locking exempts a snapshot from scheduled rotation, which is exactly why you want it before a change like this. Without the lock, a busy replication schedule can quietly delete the restore point you were relying on before you get round to confirming the change was safe.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-6\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Is it safe to let an AI assistant resize a production virtual machine?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>With guardrails, yes, and the guardrails are not complicated. Take a snapshot before the first command rather than before the risky one. Require the state to be read back rather than trusting a success response. Verify behaviour that users can see instead of the settings you just wrote. Our assistant got three things wrong in one session and every one of them was caught by reading state back.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-7\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">What did right-sizing actually save?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Eight gigabytes of pinned memory and four virtual CPUs returned to the VMM Pro host pool, taking available memory from roughly twenty-two gigabytes to 30.29 GB out of 46.83 GB. That is room for two more guests of the size we run, and more headroom for the cluster to absorb a failed node.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-8\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Can Virtual DSM run Docker, and does resizing the guest affect the containers?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Yes, a Virtual DSM guest is a full DSM installation, so Container Manager installs exactly as it would on a physical NAS. Resizing the guest in VMM Pro does not touch the containers themselves, but their memory limits are a separate ceiling that must be brought down to fit the smaller guest before you shrink it.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>The virtual machine that runs this shop spent months carrying twice the hardware it needed. Eight virtual CPUs, sixteen gigabytes of memory, and a real workload that never touched more than a quarter of either. That is not unusual. You size a guest generously on day one because you have no idea what it will [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":21470,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_eb_attr":"","footnotes":""},"categories":[183,182],"tags":[],"class_list":["post-21400","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-vdsm","category-virtual-machine-manager"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":8}},"_links":{"self":[{"href":"https:\/\/synopower.club\/pt\/wp-json\/wp\/v2\/posts\/21400","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/synopower.club\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/synopower.club\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/synopower.club\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/synopower.club\/pt\/wp-json\/wp\/v2\/comments?post=21400"}],"version-history":[{"count":4,"href":"https:\/\/synopower.club\/pt\/wp-json\/wp\/v2\/posts\/21400\/revisions"}],"predecessor-version":[{"id":21409,"href":"https:\/\/synopower.club\/pt\/wp-json\/wp\/v2\/posts\/21400\/revisions\/21409"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/synopower.club\/pt\/wp-json\/wp\/v2\/media\/21470"}],"wp:attachment":[{"href":"https:\/\/synopower.club\/pt\/wp-json\/wp\/v2\/media?parent=21400"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/synopower.club\/pt\/wp-json\/wp\/v2\/categories?post=21400"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/synopower.club\/pt\/wp-json\/wp\/v2\/tags?post=21400"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}