Ограничить использование Java RAM? - PullRequest
1 голос
/ 08 мая 2011

мы используем Java для нашего проекта www.aerospaceresearch.net/constellation и используем Java напрямую из неустановленной Java-папки bin.

У нас есть некоторые проблемы с использованием оперативной памяти этой Java, различающиеся между ОС и даже32- и 64-битные версии.Можно ли установить верхний предел для использования оперативной памяти, чтобы Java выполняла динамическую перестановку оперативной памяти, например, чтобы она всегда была ниже 150 МБ?

Это действительно помогло бы нам решить некоторые незначительные проблемы инаше приложение для систем с ограниченными возможностями оперативной памяти.

Заранее спасибо, Андреас

Ответы [ 2 ]

7 голосов
/ 08 мая 2011

Сложно сказать по вашему вопросу, но вы можете искать вариант -Xmx в Sun * Oracle * java, который устанавливает максимальный размер для Javaкуча памяти.

Для получения подробной информации о различных нестандартных функциях, предлагаемых этой версией инструмента java (включая несколько, связанных с кучей), введите java -X в командной строке.Для моей установленной версии это дает мне:

java -X
    -Xmixed           mixed mode execution (default)
    -Xint             interpreted mode execution only
    -Xbootclasspath:<directories and zip/jar files separated by :>
                      set search path for bootstrap classes and resources
    -Xbootclasspath/a:<directories and zip/jar files separated by :>
                      append to end of bootstrap class path
    -Xbootclasspath/p:<directories and zip/jar files separated by :>
                      prepend in front of bootstrap class path
    -Xnoclassgc       disable class garbage collection
    -Xincgc           enable incremental garbage collection
    -Xloggc:<file>    log GC status to a file with time stamps
    -Xbatch           disable background compilation
    -Xms<size>        set initial Java heap size
    -Xmx<size>        set maximum Java heap size
    -Xss<size>        set java thread stack size
    -Xprof            output cpu profiling data
    -Xfuture          enable strictest checks, anticipating future default
    -Xrs              reduce use of OS signals by Java/VM (see documentation)
    -Xcheck:jni       perform additional checks for JNI functions
    -Xshare:off       do not attempt to use shared class data
    -Xshare:auto      use shared class data if possible (default)
    -Xshare:on        require using shared class data, otherwise fail.

The -X options are non-standard and subject to change without notice.

Если вы используете другую реализацию Java, эти параметры могут отличаться;и обратите внимание на предупреждение в конце вышеупомянутого.

3 голосов
/ 08 мая 2011

Вы можете попробовать что-то вроде ...

java -Xmx128m BigApp

Но вы можете получить ошибки нехватки памяти, если ваше приложение действительно превысит ограничение в 128 МБ.

[update] Что касается 64-битной стороны, существует специальный параметр, который заставляет 64-битные ссылки занимать меньше места, но я не могу найти его сейчас.Это стандартно для одной из новых JRE (1.6?).

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