Я получил предупреждающее сообщение:
jvm использует клиент vm, для лучшей производительности запустите
blockquote>java
с сервером vm, добавив-server
в командную строкуНа самом деле, когда я запускаю java -version, я получаю:
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)
Как можно изменить стандартные параметры OpenJDK, чтобы они всегда запускались под виртуальной машиной сервера?
Если у вас установлена виртуальная машина клиента и сервера, вам просто нужно изменить порядок строк в jvm.cfg, чтобы сначала создать -server. Вы можете найти jvm.cfg следующим образом:
find $(dirname $(dirname $(readlink -f $(which java)))) -name jvm.cfg
На моей машине это /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/jvm.cfg
.
Java VM по умолчанию установлена в вашем файле jvm.cfg
. В Windows это в вашей папке Java в C:\Program Files
, в Linux путь может отличаться.
В моей системе Ubuntu 12.04 amd64 с Oracle Java JDK7, установленной через Webupd8 ppa , файл находится в /usr/lib/jvm/java-7-oracle/jre/lib/amd64
. Для OpenJDK 6 по умолчанию файл находится в /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/jvm.cfg
. Обратите внимание, что вам нужен JDK, а не только установленный JRE.
Отредактируйте jvm.cfg
, который соответствует вашей текущей версии Java по умолчанию (sudo nano /usr/lib/jvm/java-7-oracle/jre/lib/amd64/jvm.cfg
). Переключите -server KNOWN
на -server IGNORE
и -client IGNORE
на -client KNOWN
.
Это сделает -client flag
«известным» исполняемому файлу Java, и заставит его игнорировать -server flag
, таким образом делая его по умолчанию.
Исходный файл (по умолчанию клиент vm):
# 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
Измененный файл (по умолчанию сервер vm):
# 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
Теперь проверьте, нет ли изменений работал:
$ 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)