-XX: + HeapDumpOnOutOfMemoryError указать память - PullRequest
0 голосов
/ 13 августа 2010

Я бы хотел указать количество используемой памяти при использовании -XX:+HeapDumpOnOutOfMemoryError аргумента VM. Обычно я контролирую размер кучи, используя -Xmx<size> VM аргумент. Но когда я делаю это, ошибка нехватки памяти никогда не происходит. Кто-нибудь знает способ указать такой параметр, чтобы, когда размер кучи (или даже размер стека) достигал этого параметра, возникала ошибка нехватки памяти и я мог получить дамп кучи?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 14 августа 2010

Чтобы ответить на ваш вопрос более точно, чем то, что было предоставлено x4u, было бы полезно знать следующее:

Вопрос №1: Когда вы явно задаете -Xmx,Вы устанавливаете это?В чем разница между двумя размерами кучи (с -Xmx и без него).Я предполагаю, что вы увеличиваете размер кучи, когда устанавливаете его явно.

Вопрос # 2 : Ваша программа завершается или работает вечно?Если он завершается и вы не видите OOM, возможно, у вас нет утечки, вы просто не предоставляете достаточно памяти для вашего Java-процесса.

0 голосов
/ 13 августа 2010

-Xmx - правильный способ сделать это вместе с -Xss для размера стека, вызывающего StackOverflowException.Если вы не получите ожидаемое значение OutOfMemoryError, вам, возможно, придется попробовать более низкие значения для -Xmx, поскольку JVM имеет тенденцию выходить за пределы этого предела, прежде чем выдает ошибку, и, похоже, игнорирует что-либо ниже 15 м для -Xmx.

...