Очевидно, что увеличение аргумента -Xmx
до java
даст вашему приложению больше памяти, но я не уверен, что вы об этом спрашиваете.
# start our java program with 2 gigabyte of core memory
java -Xmx2g ...
Обычно, если JVM получает это исключение, критическая ошибка .Когда нагрузка падает вниз, она может быть в состоянии восстановить, но любой вызов для выделения объекта new
может быть сгенерирован, что повлияет на кеширование данных, автоматизацию и т. Д. Обычно требуется перезапуск приложения.
Когда возникает такое условие, процессу будет крайне трудно сообщить удаленному процессу, что ему не хватает памяти.Любая сетевая операция, вероятно, будет генерировать дополнительные выделения памяти, которые, скорее всего, не удастсяКонечно, он может наблюдать за уровнем своей памяти, и когда он достигает 95%, он может начать отправлять предупреждения, но это очень неточная наука, учитывая, что сборка мусора может освободить большой процент памяти в следующую секунду.
У нас есть внутренние мониторы JVM, которые запускают предупреждение, когда пространство старого поколения становится выше некоторого уровня, но это только для наших рабочих экранов.Ложные срабатывания распространены здесь.Только если этот уровень остается выше уровня предупреждения в течение определенного периода времени, мы проводим расследование.