Процесс Java потребляет память сверх значения -Xmx - PullRequest
1 голос
/ 10 октября 2011

JVM (java 1.6) службы уведомлений JacORB использует память, превышающую значение -Xmx, которое установлено на 240 МБ.

java exe в диспетчере задач Windows пересекает 900 МБ приватных байт, но My YourKit (ознакомительная версия) показывает потребление памяти в виде 28 МБ.

У кого-нибудь есть идея, почему java exe cross -Xmx value

Спасибо, Шарат Бхат

Ответы [ 3 ]

3 голосов
/ 10 октября 2011

-Xmx определяет максимальный размер кучи Java , которую вашему процессу разрешено использовать.

«Частные байты» могут (и не включают) память, которая используется процессом JVM, но не является частью кучи Java.

Поэтому не следует ожидатьИспользование памяти вашим процессом, измеряемое «частными байтами», остается ниже значения -Xmx.

Наконец, я ожидаю, что оценка YourKit использования кучи будет довольно точной.

1 голос
/ 10 октября 2011

Вы тоже установили -Xss? В противном случае стек не ограничен.

0 голосов
/ 10 октября 2011

-Xmx устанавливает максимальное пространство кучи. Но Java выделяет память для других пространств: пространства permgen, содержащего определения классов, стек каждого потока, память, выделенная в собственном коде и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...