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
© 1996–2023 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/v8.1.0/Set-up-the-JVM.html