Понимание распределения памяти JVM и нехватки памяти в Java: пространство кучиJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Понимание распределения памяти JVM и нехватки памяти в Java: пространство кучи

Сообщение Anonymous »

Я пытаюсь понять, как работает распределение памяти в JVM.
Я пишу приложение, в котором получаю исключения «Недостаточно памяти: пространство кучи».

Я понимаю, что могу передать аргументы виртуальной машины, такие как Xms и Xmx, для увеличения места в куче, которое JVM выделяет для запущенного процесса. Это одно из возможных решений проблемы, или я могу проверить свой код на наличие утечек памяти и устранить проблему.

Мои вопросы:

1) Как на самом деле JVM выделяет себе память? Как это связано с тем, как ОС передает доступную память JVM? Или, в более общем плане, как на самом деле работает распределение памяти для любого процесса?

2) Как вступает в игру виртуальная память? Допустим, у вас есть система с 32 ГБ физической памяти, и вы выделяете все 32 ГБ для своего Java-процесса. Допустим, ваш процесс фактически использует все 32 ГБ памяти. Как мы можем заставить процесс использовать виртуальную память вместо того, чтобы сталкиваться с исключениями OOM?

Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/212 ... heap-space
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»