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/v7.2.0/Set-up-the-JVM.html