473b822e0c
Check init_mem and max_mem_size in a single function (merging the previous two) taking into account the minimum init memory that allows the 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. Base of 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 max_mem_size 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 | ||
.gitignore | ||
appmenu_select.py | ||
backup_utils.py | ||
backup.py | ||
block.py | ||
create_new_vm.py | ||
firewall.py | ||
global_settings.py | ||
log_dialog.py | ||
main.py | ||
mount_for_backup.sh | ||
multiselectwidget.py | ||
restore.py | ||
settings.py | ||
table_widgets.py | ||
thread_monitor.py |