Я пытаюсь понять, как работает распределение памяти в JVM.
Я пишу приложение, в котором получаю исключения «Недостаточно памяти: пространство кучи».
Я понимаю, что могу передать аргументы виртуальной машины, такие как Xms и Xmx, для увеличения места в куче, которое JVM выделяет для запущенного процесса. Это одно из возможных решений проблемы, или я могу проверить свой код на наличие утечек памяти и устранить проблему.
Мои вопросы:
1) Как на самом деле JVM выделяет себе память? Как это связано с тем, как ОС передает доступную память JVM? Или, в более общем плане, как на самом деле работает распределение памяти для любого процесса?
2) Как вступает в игру виртуальная память? Допустим, у вас есть система с 32 ГБ физической памяти, и вы выделяете все 32 ГБ для своего Java-процесса. Допустим, ваш процесс фактически использует все 32 ГБ памяти. Как мы можем заставить процесс использовать виртуальную память вместо того, чтобы сталкиваться с исключениями OOM?
Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/212 ... heap-space
Понимание распределения памяти JVM и нехватки памяти в Java: пространство кучи ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Демон немедленно прекращает работу сборщика мусора JVM и после нехватки памяти JVM.
Anonymous » » в форуме JAVA - 0 Ответы
- 35 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Понимание взаимосвязи между максимальным размером кучи, размером кучи и используемой кучей.
Anonymous » » в форуме JAVA - 0 Ответы
- 49 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Понимание взаимосвязи между максимальным размером кучи, размером кучи и используемой кучей.
Anonymous » » в форуме JAVA - 0 Ответы
- 40 Просмотры
-
Последнее сообщение Anonymous
-