I’ve upgraded my laptop to Qubes 4.3 a some time ago, and I’ve noticed that the disposable qubes are preloaded after every suspend/resume cycle. So right now I have ~10 disposable qubes running, but I certainly don’t need that many. Each disposable qube is getting ~3GB of RAM, which seems a bit high.
I ended up disabling preloading of disaposablw qubes in global config, and this behavior went away.
Preloaded disposables are scheduled for deletion, I really mean scheduled, because suspend is normally fast and there will not be enough time for them to be deleted at this stage
The expected behavior when resuming is:
Old preloaded disposables are finally deleted and new ones are preloaded.
In other words, if you have configured that 2 disposables should be preloaded, you will still have 2 after resume, but fresh ones.
If this is not what is happening with you, can you please run the following, all in dom0:
qvm-features default-dvm preload-dispvm-max
qvm-features dom0 preload-dispvm-max
# And for any other disposable template you have configured to preload from.
Let’s see all running or paused disposables:
qvm-ls --class DispVM --running --paused
Now only preloaded disposables:
qvm-ls --prefs is_preload=True
Follow the journal:
sudo journalctl -f
And on another terminal:
sudo systemctl suspend
After some seconds, the computer should suspend, wait for the lights to indicate that, then click any key to resume, and share the output of every command.
Unfortunately, it seems I can no longer reproduce this. I’ve enabled the preloading in global config again, but now the disposable qubes are shutdown/started as expected (on suspend/resume), so I no longer see more than 2.
FWIW this is what I saw yesterday, before I disabled the preloading:
I don’t know it the disable/enable fixed some sort of config issue, or maybe there’s some other ingredient to this. I’ll keep it enabled and will report if it starts happening again.