Недавно я столкнулся с этой проблемой. У меня есть 3 java-приложения, которые начинаются с размера кучи 1024 или 1280 м. Java ищет доступное пространство в swap, и, если доступной памяти недостаточно, jvm завершает работу.
Чтобы решить эту проблему, мне пришлось закончить несколько программ, на которые было выделено большое количество виртуальной памяти .
Я работал на x86-64 linux с 64-битным jvm.