diff --git a/quickemu b/quickemu index 43d4c7b..cddc36f 100755 --- a/quickemu +++ b/quickemu @@ -297,22 +297,27 @@ function vm_boot() { RAM_HOST=$(free --mega -h | grep Mem | cut -d':' -f2 | cut -d'G' -f1 | sed 's/ //g') #Round up - https://github.com/wimpysworld/quickemu/issues/11 RAM_HOST=$(printf '%.*f\n' 0 "${RAM_HOST}") - if [ "${RAM_HOST}" -ge 256 ]; then + if [ "${RAM_HOST}" -ge 128 ]; then RAM_VM="32G" - elif [ "${RAM_HOST}" -ge 128 ]; then - RAM_VM="16G" elif [ "${RAM_HOST}" -ge 64 ]; then - RAM_VM="8G" - elif [ "${RAM_HOST}" -ge 32 ]; then - RAM_VM="4G" + RAM_VM="16G" elif [ "${RAM_HOST}" -ge 16 ]; then - RAM_VM="3G" + RAM_VM="8G" + elif [ "${RAM_HOST}" -ge 8 ]; then + RAM_VM="4G" fi else RAM_VM="${ram}" fi echo ", ${RAM_VM} RAM" + if [ ${RAM_VM//G/} -lt 4 ]; then + if [ "${guest_os}" == "macos" ] || [ "${guest_os}" == "windows" ]; then + echo "ERROR! You have insufficient RAM to run ${guest_os} in a VM" + exit 1 + fi + fi + # Make any OS specific adjustments case ${guest_os} in freebsd|linux)