Spec-Zone.ru › Octave 5

A.4.3 Настройка JVM

Для выполнения кода Java Octave создаёт виртуальную машину Java (JVM). По умолчанию используется версия JVM, обнаруженная во время конфигурации на системах Unix-подобных системах или указанная в ключе реестра HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\JRE или HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment в Windows. Путь к JVM по умолчанию можно переопределить, установив переменную среды JAVA_HOME в путь установки JVM. В Windows это может быть, например, C:\Program Files\Java\jre-10.0.2. Убедитесь, что выбранный каталог содержит JVM с разрядностью, соответствующей разрядности Octave.

JVM загружается только один раз на сеанс Octave. Таким образом, чтобы изменить используемую версию JVM, возможно, потребуется перезапустить Octave. Чтобы проверить, какая версия JVM используется в данный момент, выполните version -java.

JVM выделяет фиксированный объём начальной памяти и может расширить этот пул до фиксированного максимального лимита памяти. Значения по умолчанию зависят от версии Java (см. javamem). Пул памяти используется всеми объектами Java, работающими в JVM. Этот жёсткий лимит памяти предназначен в основном для предотвращения неконтролируемого роста приложений в веб-браузерах или в серверных приложениях предприятия, которые могут использовать всю память и привести к сбою системы. При достижении максимального лимита памяти код Java будет генерировать исключения, чтобы приложения завершились сбоем или вели себя неожиданным образом.

Вы можете указать параметры для создания JVM в файле с именем java.opts. Это текстовый файл, в котором вы вводите строки, содержащие параметры -X и -D, которые затем передаются JVM во время инициализации.

Каталог, где находится файл параметров Java, задаётся переменной среды OCTAVE_JAVA_DIR. Если она не установлена, используется каталог, в котором находится javaclasspath.m (обычно OCTAVE_HOME/share/octave/OCTAVE_VERSION/m/java/). Этот каталог можно найти, выполнив

which javaclasspath

Параметры -X позволяют увеличить максимальный объём памяти, доступный для JVM. В следующем примере разрешается использование до 256 мегабайт памяти, добавив следующую строку в файл java.opts:

-Xmx256m

Максимальный возможный объём памяти зависит от вашей системы. На Windows-системе с 2 гигабайтами оперативной памяти вы должны иметь возможность установить этот максимум примерно до 1 гигабайта.

Если ваше приложение требует большого объёма памяти с самого начала, вы также можете указать начальный объём памяти, выделенный для JVM. Добавление следующей строки в файл java.opts запускает JVM с 64 мегабайтами начальной памяти:

-Xms64m

Для получения дополнительной информации об доступных параметрах -X вашей виртуальной машины Java введите команду ‘java -X’ в командной строке операционной системы и обратитесь к документации Java.

Параметры -D можно использовать для определения системных свойств, которые затем могут быть использованы классами Java внутри Octave. Системные свойства можно получить, используя методы getProperty() класса java.lang.System. В следующем примере определяется свойство MyProperty и присваивается ему строка 12.34.

-DMyProperty=12.34

Значение этого свойства можно затем получить как строку объектом Java или в Octave:

octave> javaMethod ("getProperty", "java.lang.System", "MyProperty");
ans = 12.34

См. также: javamem.

© 1996–2022 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v5.2.0/Set-up-the-JVM.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API