Только если -Xms (минимум) больше доступной памяти, вы получите немедленный сбой при инициализации JVM
$>java -Xms100g #JVM fails to start
Error occurred during initialization of VM Could not
reserve enough space for object heap
Если ваш - Xmx (максимум) больше доступной памяти, которую JVM инициализирует, поскольку вы еще не используете память
$>java -Xmx100g #JVM starts up fine
Usage: java [-options] class [args...]
...
Если ваш -Xmx (максимум) больше доступной памяти (общий объем памяти для включения любой виртуальной памяти)память) вы получите сбой во время выполнения тогда и только тогда, когда ваши процессы JVM на самом деле попытаются использовать больше памяти, чем имеет машина.
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f5feb100000, 927465472, 0) failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 927465472 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /some/file/path/hs_err_pid25.log
Это не 'thrash' до тех пор, пока он не приблизится к вашему пределу -Xmx, но если этот предел превысит вашу доступную память, вы получите указанную выше ошибку выделения памяти, и ваша программа прекратит работу до того, как даже будет рассмотрена процедура переброса.(И это очень драматично!)