Как изменить параметры времени выполнения Java?


16

В Windows я мог изменить объем ОЗУ, который мог использовать Java, введя что-то вроде -Xincgc -Xmx2048M в параметрах времени выполнения Java. Как я могу сделать это в Ubuntu?

Ответы:


6

Если я не ошибаюсь, они одинаковы в Linux. С помощью команды Java у вас есть 2 варианта:

  • Xmx устанавливает максимальный размер кучи памяти.
  • Xms устанавливает минимальный размер кучи памяти.

Так делать -Xmx1024m -Xms128mдолжно работать.

Вот выдержка из man javaтерминала в терминале

-Xmsn
                Specify the initial size, in bytes, of the memory allocation
                pool. This value must be a multiple of 1024 greater than 1MB.
                Append the letter k or K to indicate kilobytes, or m or M to
                indicate megabytes. The default value is chosen at runtime
                based on system configuration. For more information, see
                HotSpot Ergonomics
                Examples:

                       -Xms6291456
                       -Xms6144k
                       -Xms6m

 -Xmxn
                Specify the maximum size, in bytes, of the memory allocation
                pool. This value must a multiple of 1024 greater than 2MB.
                Append the letter k or K to indicate kilobytes, or m or M to
                indicate megabytes. The default value is chosen at runtime
                based on system configuration. For more information, see
                HotSpot Ergonomics
                Examples:

                       -Xmx83886080
                       -Xmx81920k
                       -Xmx80m

Так что это в основном подводит итог сомнениям, используя те же параметры.

Для этого перейдите в терминал и введите его с помощью jar-программы. В моем примере я использую сервер Minecraft: java -Xms1024M -Xmx2048M -jar minecraft.jar.

Вот изображение того, что происходит:

введите описание изображения здесь

Должен отметить, что параметры чувствительны к регистру . Таким образом, xmx1024M - это не то же самое, что Xmx1024M.


Ну, я не спрашивал, какие параметры мне следует использовать. Я спросил, где я должен ввести параметры. Если я набираю -Xmx1204m -Xms128m, это говорит о неизвестной команде.
Андри

Судя по твоему вопросу, ты уже знал, где их набирать, так как уже использовал их. Сожалею. Я обновил ответ, включив в него изображение вывода команды и полную командную строку для java и параметров. Это все набирается с терминала.
Луис Альварадо

10

То же самое относится и к Linux. Если вы хотите сделать параметры постоянными, вы можете экспортировать JAVA_OPTSпеременную среды.

Я рекомендую делать это для каждого пользователя. Измените .profileфайл в вашем домашнем каталоге (или, .bash_profileесли он существует, и вы используете bash), добавив следующую строку:

export JAVA_OPTS='-Xincgc -Xmx2048M'

После установки этого вам нужно перезапустить сеансы оболочки для его применения.

Кроме того, вы также можете изменить общесистемный профиль в / etc / profile.

Изменить: параметры для подключаемого модуля браузера Java определены в панели управления Java: http://docs.oracle.com/javase/1.4.2/docs/guide/plugin/developer_guide/control_panel.html .


Как то же самое относится к Linux? Я не могу зайти в Панель управления, открыть Java и изменить настройки. Что мне делать?
Андри

1
Если я не ошибаюсь, эта панель управления применяется только к плагину Java для браузера. Если это то, что вы ищете, он находится в / jre / bin / ControlPanel ( docs.oracle.com/javase/1.4.2/docs/guide/plugin/developer_guide/… )
jjmontes

Это не то, что я имел ввиду. Все, что мне нужно знать, - это как сделать так, чтобы Java могла использовать больше оперативной памяти, чем сейчас.
Андри
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.