I am running a Windows 10 guest on my Macbook Pro MacOS 10.12.

In order to conserve the resources and battery of the host, I'd like to be able to pause the guest if the guest receives no keyboard or mouse input for a specified amount of time.

Is this possible on Virtualbox?

If not, I am open to the prospect of using a scripting language such as bash, powershell or python to achieve my goal. Any pointers in this area greatly appreciated (I don't expect anyone to write code for me).

  • Almost any guest will idle down and not use resources if not being used. All my virtual machines are like that. Memory will be used by having the guest loaded and that is normal.
    – John
    Apr 26, 2020 at 12:21
  • @John correct me if I'm wrong but a paused guest will use zero resources except allocated RAM, whereas what you are talking about would still be using resources, albeit minimally?
    – braggs
    Apr 26, 2020 at 12:31
  • I assume by "Resources" you mean CPU resources. Right now I have one Host and 3 virtual machines running. CPU is < 5%. Memory is fixed by what is allotted to the machine and cannot be released without shutting the machine down.
    – John
    Apr 26, 2020 at 12:32
  • Why not set the guest to sleep after idle?
    – harrymc
    Apr 26, 2020 at 14:39
  • @harrymc, how do I set the guest to sleep after idle?
    – braggs
    Apr 26, 2020 at 14:59

2 Answers 2


VMware Workstation (Virtual Box is similar) cannot pause a guest with no input, but the process (you want) to reduce resource consumption is already there and automatic like any real system.

If the guest is not being actively used, then CPU resource will sink to a logical minimum. I have 3 guests running on a Windows 10 host and CPU resource has been showing <5% for several hours now (other that tiny short spurts overall).

Of course memory is used by running guests and can only be released by shutting down guests.

So within logical reason, what you want is already there.


Virtualbox cannot do that, it's much simpler to set the Windows VM to sleep after a certain idle time.

To get to this setting, click the Start button and run Power Options. Next to your selected power plan, click "Change plan settings", set the idle time and click "Save chances".

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .