Как уменьшить память, используемую Tomcat?

Я нашел iformation с командой: scrgadm - Партия свободы

удачи

5
задан 18 September 2011 в 22:40
1 ответ

Проблема здесь не в tomcat, а в Java в целом. Есть несколько разных мест, где java использует память. Среда выполнения java использует свою собственную память, и она будет включена в ваш номер, кроме того, java разбивает память на четыре отдельных места:

Куча: Это память, используемая для хранения ваших объектов и управляемая параметрами -Xms и -Xmx .

Стек: Это используемая память для хранения кадров стека для потоков, которые поддерживает ваша программа и которыми можно управлять с помощью параметра -Xss .

Permgen Memory: Это память, используемая для хранения ваших скомпилированных классов и объединенных в пул строк а также некоторые другие вещи, и обычно им можно управлять с помощью -XX: MaxPermSize , хотя -XX представляет собой параметр отладки, поэтому нет гарантии, что он присутствует на всех JVM. Но стандартные реализации Sun / Oracle по умолчанию всегда имели их.

Выделенная память JNI Любые классы, использующие собственные методы и JNI, потенциально могут выделять неограниченную память. Эта память поступает из ОС, а не из кучи, и невозможно узнать, сколько памяти будет использовать собственный класс, не имея доступа к источнику.

Обзор модели памяти Java, вероятно, выходит за рамки ответа на этот вопрос, и я не смог найти хорошую краткую статью / описание в Интернете, но краткий ответ на ваш вопрос: если вы пытаетесь ограничить абсолютный объем памяти, используемый программой java, нет простого способа сделать Это. Эвристически, вероятно, сократите ваши параметры -Xms и -Xmx до 128 м, и вы должны приблизиться, но это действительно будет зависеть от вашего приложения.

Обзор модели памяти Java, вероятно, выходит за рамки ответа на этот вопрос, и я не смог найти хорошую краткую статью / описание в Интернете, но краткий ответ на ваш вопрос: если вы пытаетесь ограничить абсолютный объем памяти, используемой java-программой, нет простого способа сделать это. Эвристически, вероятно, сократите ваши параметры -Xms и -Xmx до 128 м, и вы должны приблизиться, но это действительно будет зависеть от вашего приложения.

Обзор модели памяти Java, вероятно, выходит за рамки ответа на этот вопрос, и я не смог найти хорошую краткую статью / описание в Интернете, но краткий ответ на ваш вопрос: если вы пытаетесь ограничить абсолютный объем памяти, используемой java-программой, нет простого способа сделать это. Эвристически, вероятно, сократите ваши параметры -Xms и -Xmx до 128 м, и вы должны приблизиться, но это действительно будет зависеть от вашего приложения.

8
ответ дан 3 December 2019 в 01:20

Теги

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