Opções padrão do OpenJDK para sempre usar a VM do servidor

2

Recebi uma mensagem de aviso:

  

O jvm usa o cliente vm, certifique-se de executar java com o servidor vm para um melhor desempenho adicionando -server à linha de comando

Na verdade, quando executo o java -version, obtenho:

OpenJDK Runtime Environment (IcedTea7 2.3.2) (7u7-2.3.2a-0ubuntu0.12.04.1)
OpenJDK Client VM (build 23.2-b09, mixed mode, sharing)

Como se faz e muda os padrões do OpenJDK para sempre começar sob a VM do servidor?

    
por montrealmike 08.10.2012 / 22:56

2 respostas

3

Supondo que você tenha o cliente e a VM do servidor instaladas, basta alterar a ordem das linhas no jvm.cfg para fazer o primeiro servidor. Você pode encontrar o jvm.cfg assim:

find $(dirname $(dirname $(readlink -f $(which java)))) -name jvm.cfg

Na minha máquina, é /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/jvm.cfg .

    
por Trevor Robinson 16.10.2012 / 22:08
0

O Java VM padrão é definido no arquivo jvm.cfg . No Windows, isso está na sua pasta Java em C:\Program Files , no Linux, o caminho pode variar.

No meu sistema Ubuntu 12.04 amd64 com o Oracle Java JDK7 instalado através do Webupd8 ppa , o arquivo está em /usr/lib/jvm/java-7-oracle/jre/lib/amd64 . Para o padrão OpenJDK 6, o arquivo está em /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/jvm.cfg . Note que você precisa do JDK e não apenas do JRE instalado.

Edite o jvm.cfg que corresponde à sua versão Java padrão atual ( sudo nano /usr/lib/jvm/java-7-oracle/jre/lib/amd64/jvm.cfg ). Mude -server KNOWN para -server IGNORE e -client IGNORE para -client KNOWN .

Isso tornará o -client flag "conhecido" para o executável java e fará com que ele ignore o -server flag , tornando-o padrão.

O arquivo original (cliente vm como padrão):

# Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
# ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
#
# List of JVMs that can be used as an option to java, javac, etc.
# Order is important -- first in this list is the default JVM.
# NOTE that this both this file and its format are UNSUPPORTED and
# WILL GO AWAY in a future release.
#
# You may also select a JVM in an arbitrary location with the
# "-XXaltjvm=<jvm_dir>" option, but that too is unsupported
# and may not be available in a future release.
#
-server KNOWN
-client IGNORE
-hotspot ERROR
-classic WARN
-native ERROR
-green ERROR

Arquivo modificado (servidor vm como padrão):

# Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
# ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
#
# List of JVMs that can be used as an option to java, javac, etc.
# Order is important -- first in this list is the default JVM.
# NOTE that this both this file and its format are UNSUPPORTED and
# WILL GO AWAY in a future release.
#
# You may also select a JVM in an arbitrary location with the
# "-XXaltjvm=<jvm_dir>" option, but that too is unsupported
# and may not be available in a future release.
#
#-server KNOWN
-server IGNORE
#-client IGNORE
-client KNOWN
-hotspot ERROR
-classic WARN
-native ERROR
-green ERROR

Agora teste para ver se a alteração funcionou:

$ java -version
java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)

Fonte

    
por Matthieu 12.10.2012 / 15:35