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