bf2173073b
Check maxmem taking into account the minimum init memory that allows that requested maximum memory. Explanation: Linux kernel needs space for memory-related structures created at boot. If init_mem is just 400MB, then max_mem can't balloon above 4.3GB (at which poing it yields "add_memory() failed: -17" messages and apps crash), regardless of the max_mem_size value. Based on Marek's findings and my tests on a 16GB PC, using several processes like: stress -m 1 --vm-bytes 1g --vm-hang 100 result in the following points: init_mem ==> actual max memory 400 4300 700 7554 800 8635 1024 11051 1200 12954 1300 14038 1500 14045 <== probably capped on my 16GB system The actual ratio of max_mem_size/init_mem is surprisingly constant at 10.79 If less init memory is set than that ratio allows, then the set maxmem is unreachable and the VM becomes unstable (app crashes) Based on qubes-devel discussion titled "Qubes Dom0 init memory against Xen best practices?" at: https://groups.google.com/d/msg/qubes-devel/VRqkFj1IOtA/UgMgnwfxVSIJ |
||
---|---|---|
.. | ||
__init__.py | ||
01QubesAppVm.py | ||
01QubesDisposableVm.py | ||
01QubesHVm.py | ||
02QubesTemplateHVm.py | ||
000QubesVm.py | ||
003QubesTemplateVm.py | ||
005QubesNetVm.py | ||
006QubesAdminVm.py | ||
006QubesProxyVm.py | ||
README.txt |
This directory contains Qubes core modules. It will be loaded in lexicographical order, use numeric prefix to force load ordering. 0* - Qubes base modules 00* - Qubes core VM classes