Como altero os parâmetros do Java Runtime?

16

No Windows, eu poderia alterar a quantidade de RAM que o Java poderia usar digitando algo como -Xincgc -Xmx2048M nos Java Runtime Parameters. Como posso fazer isso no Ubuntu?

Andri
fonte

Respostas:

6

Se não me engano, eles são os mesmos no Linux. Com o comando Java, você tem as 2 opções:

  • Xmx define o tamanho máximo do heap de memória.
  • Xms define o tamanho mínimo de heap de memória.

Então, fazer -Xmx1024m -Xms128mdeve funcionar.

Aqui está um extrato de fazer um man javano terminal

-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

Então, basicamente, resume as dúvidas usando os mesmos parâmetros.

Para usar isso, vá para um terminal e digite-o com um programa jar. No meu exemplo eu estou usando o servidor de Minecraft: java -Xms1024M -Xmx2048M -jar minecraft.jar.

Aqui está uma imagem do que acontece:

insira a descrição da imagem aqui

Devo observar que os parâmetros diferenciam maiúsculas de minúsculas . Portanto, xmx1024M não é o mesmo que Xmx1024M.

Luis Alvarado
fonte
Bem, eu não perguntei quais parâmetros eu deveria usar. Eu perguntei onde eu deveria digitar os parâmetros. Se eu digitar -Xmx1204m -Xms128m, diz comando desconhecido.
Andri
Pela sua pergunta, parecia que você já sabia onde digitá-los, pois já os estava usando. Desculpe. Atualizei a resposta para incluir uma imagem da saída do comando e a linha de comando completa para java e parâmetros. Tudo isso é digitado no terminal.
Luis Alvarado
10

O mesmo se aplica ao Linux. Se você deseja tornar as opções permanentes, pode exportar a JAVA_OPTSvariável de ambiente.

Eu recomendo fazer isso por usuário. Modifique o .profilearquivo no diretório inicial (ou, .bash_profilese existir, e você usar o bash) para incluir esta linha:

export JAVA_OPTS='-Xincgc -Xmx2048M'

Depois de definir isso, você precisará reiniciar as sessões do shell para que ele se aplique.

Como alternativa, você também pode modificar o perfil de todo o sistema em / etc / profile.

Editar: as configurações do plug-in do navegador Java são definidas no Painel de controle Java: http://docs.oracle.com/javase/1.4.2/docs/guide/plugin/developer_guide/control_panel.html .

jjmontes
fonte
Como o mesmo se aplica ao Linux? Não posso ir ao Painel de Controle, abrir Java e alterar as configurações. O que eu faço?
Andri
11
Se não estiver errado, esse painel de controle se aplica apenas ao Java Plugin do navegador. Se é isso que você procura, ele está localizado em / jre / bin / ControlPanel ( docs.oracle.com/javase/1.4.2/docs/guide/plugin/developer_guide/… )
jjmontes
Isso não foi o que eu quis dizer. Tudo o que preciso saber é como eu poderia tornar o Java capaz de usar mais RAM do que agora.
Andri