Как установить максимальное использование памяти для JVM?

Разрывы строки не являются проблемой так, поскольку их нужно правильно оставить в JSON. Если это доступно Вам, можно использовать json_encode, который автоматически выходит из новых строк. Приводя это к сбою, можно использовать что-то как метод Pim Jager выше, хотя надлежащий кодер JSON был бы лучшим.

125
задан erotsppa 29 September 2009 в 17:24
поделиться

4 ответа

use the arguments -Xms -Xmx. Use M or G after the numbers for indicating Megs and Gigs of bytes respectively. -Xms indicates the minimum and -Xmx the maximum.

98
ответ дан 24 November 2019 в 01:02
поделиться

You shouldn't have to worry about the stack leaking memory (it is highly uncommon). The only time you can have the stack get out of control is with infinite (or really deep) recursion.

This is just the heap. Sorry, didn't read your question fully at first.

You need to run the JVM with the following command line argument.

-Xmx<ammount of memory>

Example:

-Xmx1024m

That will allow a max of 1GB of memory for the JVM.

29
ответ дан 24 November 2019 в 01:02
поделиться

NativeHeap можно увеличить на -XX: MaxDirectMemorySize = 256M (по умолчанию 128)

Никогда не использовал. Может быть, вам это пригодится.

0
ответ дан 24 November 2019 в 01:02
поделиться

Ответ выше вроде верен, вы можете ' t изящно контролировать, сколько собственной памяти выделяет java-процесс. Это зависит от того, что делает ваше приложение.

Тем не менее, в зависимости от платформы вы можете использовать какой-то механизм, например ulimit, для ограничения размера java или любого другого процесса.

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

чтобы ограничить размер java или любого другого процесса.

Просто не ожидайте, что он завершится корректно, если достигнет этого предела. Сбои выделения собственной памяти намного сложнее обрабатывать, чем сбои выделения в куче java. Существует довольно высокая вероятность того, что приложение выйдет из строя, но в зависимости от того, насколько важно для системы уменьшить размер процесса, который может вам все еще подходит.

чтобы ограничить размер java или любого другого процесса.

Просто не ожидайте, что он завершится корректно, если достигнет этого предела. Сбои выделения собственной памяти намного сложнее обрабатывать, чем сбои выделения в куче java. Существует довольно высокая вероятность того, что приложение выйдет из строя, но в зависимости от того, насколько важно для системы уменьшить размер процесса, который может вам все еще подходит.

10
ответ дан 24 November 2019 в 01:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: