Я хочу ограничить максимальный объем памяти, используемый JVM. Обратите внимание, это не просто куча, я хочу ограничить общий объем памяти, используемый этим процессом.
java
memory
memory-management
memory-leaks
profiling
erotsppa
источник
источник
-Xmx524M
и процесс занимает 1,2 ГБ ОЗУ. (?)Вам не стоит беспокоиться об утечке памяти из стека (это очень редко). Единственный раз, когда вы можете вывести стек из-под контроля, - это бесконечная (или действительно глубокая) рекурсия.
Это просто куча. Извините, сначала не полностью прочитал ваш вопрос.
Вам необходимо запустить JVM со следующим аргументом командной строки.
Пример:
Это позволит использовать для JVM максимум 1 ГБ памяти.
источник
-XX:MaxDirectMemorySize
. Не то чтобы я тщательно профилировал, чтобы убедиться, но все же;)MaxDirectMemorySize
затрагивает только буферы NIO. Все виды другой собственной памяти используются JVM.Если вы хотите ограничить память для jvm (а не размер кучи) ulimit -v
Чтобы получить представление о разнице между jvm и кучей памяти, взгляните на эту отличную статью http://blogs.vmware.com/apps/2011/06/taking-a-closer-look-at-sizing-the- Java-process.html
источник
ulimit
команда Linux? Я быстро поискал в Google и не увидел никакой связи междуulimit
JVM и JVM. YПриведенный выше ответ отчасти правильный, вы не можете изящно контролировать, сколько собственной памяти выделяет java-процесс. Это зависит от того, что делает ваше приложение.
Тем не менее, в зависимости от платформы вы можете использовать какой-либо механизм, например ulimit, для ограничения размера java или любого другого процесса.
Только не ожидайте, что он изящно выйдет из строя, если достигнет этого предела. Сбои выделения собственной памяти намного сложнее обрабатывать, чем сбои выделения в куче java. Существует довольно высокая вероятность того, что приложение выйдет из строя, но в зависимости от того, насколько критично для системы, уменьшить размер процесса, который может вам все еще подходит.
источник
Я никогда этим не пользовался. Может быть, тебе это пригодится.
источник