I run a QEMU instance with KVM. I know KVM can overcommit RAM but i want to see how much space i have left to overcommit without accessing all the VMs (which would take a lot of time and some contain private information). Ideally in a parseable way. I'm running ubuntu 16.04 and the VMs are a mix of Windows (with ballooning drivers) and Linux.

my machine has 128GB of RAM and the VMs have a total of 150GB allocated. I know this ram will only really be used once it is accessed for the first time but most VMs run programs that rapidly use and stop using a lot of memory. which causes the 128GB to be filled up quite fast. If i understand correctly KVM will free up unused memory once the host gets low on RAM.

  • 1
    What more details do you need than free? Commented Sep 2, 2019 at 17:44
  • if i understand correctly the used in free also includes memory that was once touched by the guest OS and is now free to be cleaned up. Correct me if im wrong.
    – Luc H
    Commented Sep 3, 2019 at 16:01
  • If a VM really isn't using the memory anymore, then the usage will go back down. But this doesn't always happen with Linux; see linuxatemyram.com Commented Sep 3, 2019 at 16:03
  • It looks like that was indeed my issue. If you want to you can post it as a anwser and i will accept it. Is there any way to view this cache/available/used info on a VM without actually accessing it?
    – Luc H
    Commented Sep 3, 2019 at 16:10


You must log in to answer this question.

Browse other questions tagged .