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

Я хотел бы спросить, если кто-нибудь здесь знает способ, как оптимизировать использование памяти JVM? Мы используем оболочку Java-сервиса (YAJSW), которая вызывает JVM, а физическая память используется около 40 МБ. Я хочу уменьшить это, скажем, 5-10 МБ. Как мне этого добиться?

Пока у меня есть только следующая конфигурация:

java =-Xmx1024m

Я также попробовал это:

java =-Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:SurvivorRatio=2 -XX:PermSize=256m -XX:MaxPermSize=256m

Но эти параметры конфигурации не имеют никакого значения. Каковы будут правильные настройки конфигурации для этого? или, что еще я должен сделать, чтобы оптимизировать это?

Заранее благодарю за ваши ответы.

2 ответа

Вы говорите о резидентной памяти или виртуальной? На моей машине простой while(true); в main больше ничего уже не получает мне 10 МБ резидентной памяти, в основном из-за отображенных в память библиотек r/o (libc, libm, librt, libpthread...) и jars. Уменьшение, если вообще возможно, дополнительного объема памяти, или до 10 МБ в любом нетривиальном приложении, будет означать только больше подкачки, тем самым уменьшая скорость.

Виртуальная память, с другой стороны, составляет 1,1 ГБ на моей машине, которая может быть уменьшена в случае необходимости, но зачем это делать? Неиспользованная виртуальная память ничего не стоит.

Изменить: Кроме того, вы можете посмотреть на другие параметры виртуальной машины HotSpot, особенно MaxHeapFreeRatio.

Документация для YAJSW гласит:

Требования к памяти для Wrapper
Гибкость YAJSW имеет свою цену. Использование Java для процесса оболочки имеет много преимуществ. Однако мы платим java цену за более высокий объем памяти. В то время как оболочке JSW требуется всего несколько килобайт памяти, минимальное требование к виртуальной памяти YAJSW составляет 90 МБ и 40 МБ физической памяти. Значение варьируется в зависимости от ОС и функций.

Если ваше приложение может работать в пределах 32-битных ограничений памяти, вы можете использовать версию Tanuki для сообщества, поскольку она занимает меньше места.

Другие вопросы по тегам