Подтвердить что ты не робот

Предупреждение VM на 64-битном сервере Java HotSpot (TM)

У меня есть tomcat как мой веб-сервер, он автоматически останавливается с заданной ошибкой -

Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f16a8405000, 12288, 0) failed; error='Cannot allocate memory' (errno=12)

Мне нужно понять, что на самом деле произошло? и какое предупреждение означает?

4b9b3361

Ответ 1

Недостаточно памяти для Java Runtime Environment для продолжения.

Настроенное распределение памяти (malloc) не удалось выделить байты xxxxx для резервирования памяти.

Возможные причины:
  1. Система находится вне физической памяти или пространства подкачки
  2. В 32-битном режиме предел размера процесса был достигнут

Возможные решения:
   1. Уменьшить нагрузку на память в системе
   2. Увеличить физическую память или место подкачки
   3.Проверьте, что хранилище подкачки полностью заполнено
   4. Используйте 64-битную Java на 64-битной ОС
   5. Уменьшите размер кучи Java (-Xmx/-Xms)
   6. Уменьшить количество потоков Java
   7. Уменьшите размер стека потоков Java (-Xss)
   8. Установите более мощный кеш кода с -XX: ReservedCodeCacheSize =

 если вы находитесь на JAVA-8, пожалуйста, напишите: Java HotSpot (TM) 64-битное предупреждение сервера VM: игнорирование опции MaxPermSize

Ответ 2

Java не смог выделить достаточное количество памяти, то есть это не ограничение на кучу Java, что в данном случае, но не больше памяти, доступной Java для ОС. Убедитесь, что на компьютере не хватает памяти. И сначала очистите плунжер или увеличьте барабан, затем проверьте, есть ли снова ошибка памяти, а затем увеличьте размер кучи:

-Xms128m min (размер кучи)

-Xmx512m max (размер кучи)

-XX:MaxPermSize max (размер perm)