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–2026 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.4.0/Set-up-the-JVM.html