Когда RAM исчерпан, OS обычно будет использовать swap или pagefile для предоставления виртуальной памяти :
ОЗУ является ограниченным ресурсом, тогда как для большинства практических целей виртуальная память не ограничена.Процессов может быть много, и каждый процесс имеет свои 2 ГБ частного виртуального адресного пространства.Когда объем памяти, используемой всеми существующими процессами, превышает доступную оперативную память, операционная система перемещает страницы (по 4 КБ) одного или нескольких виртуальных адресных пространств на жесткий диск компьютера.Это освобождает этот кадр ОЗУ для других целей.В системах Windows эти «выгруженные» страницы хранятся в одном или нескольких файлах (файлы Pagefile.sys) в корне раздела.
Пейджинг обычно приводит ксерьезное снижение производительности, потому что даже современное SSD хранилище не так быстро, как RAM.Если нехватка памяти продолжается, система может начать перебивать .
При условии, что для JVM не требуется больше памяти, например, она уже ограничена -Xmx
ивыделил всю разрешенную память, он продолжит работать.Обычно, когда память исчерпана, ОС не позволяет запускать новые процессы, например, попытка запустить новый процесс JVM приведет к следующей ошибке:
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
В конце дня это зависит от конфигурации ОС.Обычно в этой ситуации не стоит заниматься расследованием, поскольку оперативная память намного дешевле, чем время разработчика.