JVM от Sun поставляется в двух вариантах: -client
и -server
, где предполагается, что серверная виртуальная машина оптимизирована для длительных процессов, и рекомендуется для серверных приложений.
Когда я запускаю java
без параметров, отображаются параметры использования, включая следующий текст:
The default VM is server,
because you are running on a server-class machine.
Увидев это, я не стал добавлять -server
в команду запуска процесса.
Однако в недавнем журнале сбоев JVM я заметил следующую строку в конце файла:
vm_info: Java HotSpot(TM) Client VM (14.0-b16) for linux-x86 JRE (1.6.0_14-b08), built on May 21 2009 02:01:47 by "java_re" with gcc 3.2.1-7a (J2SE release)
Мне кажется, что Java использует клиентскую виртуальную машину, несмотря на то, что говорится в справочном сообщении. Я собираюсь добавить опцию -server
в мою команду запуска, но теперь я с подозрением. Поэтому мой вопрос: есть ли способ убедиться, что виртуальная машина, на которой я работаю, действительно является виртуальной машиной сервера, не прибегая к принудительному сбою JVM?
Операционная система - Ubuntu 8.04, но я использую JDK 1.6.0_14, который я скачал с сайта Sun.