Запуск tomcat с опцией -server JVM - PullRequest
3 голосов
/ 13 апреля 2011

Я тестирую свой tomcat server 4 с опцией -server jvm. Мой JDK равен 1.5 на FreeBSD.

Я не вижу заметных различий или проблем. Если я хочу включить эту опцию в своих системах, каких улучшений я могу ожидать и какие проблемы мне нужно искать?

Я прочитал Каков эффект опции -server для HotSpot JVM? , но он не обсуждает это подробно.

Ответы [ 5 ]

3 голосов
/ 13 апреля 2011

Вполне возможно, что JVM уже работала в режиме сервера.Для JDK 5/6 в Linux JVM по умолчанию будет работать в режиме сервера на компьютере серверного класса:

"[...] определение компьютера серверного класса:один с как минимум 2 ЦП и не менее 2 ГБ физической памяти. "

Это задокументировано здесь здесь для Java 6).

Не прописано, что происходит с FreeBsd, но я ожидаю, что JVM FreeBsd предназначены только для серверного режима или по умолчанию работают в режиме сервера на компьютере серверного класса, как в Linux.

2 голосов
/ 13 апреля 2011

Хитрость в том, что современная JVM может "автоматически определять" сервероподобную машину.Поэтому, если вы не укажете -server или -client, JVM1.5 + выберет лучший метод - и может случиться так, что он будет работать в режиме сервера, даже если вы не используете атрибут.

В этом случае вы можете заметить разницу, если вы запустите JVM с опцией -client.

Ссылка

1 голос
/ 13 апреля 2011

Первое отличие, которое делает серверный режим, это включение Parallel GC, это сборщик мусора, рекомендуемый для многоядерных машин.В общем, это даст вам более короткие задержки для сборки мусора.

Во-вторых, режим сервера будет использовать более агрессивные оптимизации в JIT.

Я думаю, что режим сервера является обязательным на рабочей машине.

Я бы порекомендовал вам перейти на 1.6 JVM, так как он имеет лучшую реализацию gc и лучше оптимизирован.

0 голосов
/ 25 июля 2012

Вы заметите разницу в долгосрочной перспективе из-за разного сбора мусора и других параметров.

0 голосов
/ 13 апреля 2011

Сайт OTN обсуждает разницу.Мы редко используем аргументы по умолчанию (алгоритмы сбора GC, размеры кучи и т. Д.) В любой из наших производственных систем, поэтому это не дает особого прироста.

Нет каких-либо конкретных вещей, которые вам нужныищите после реализации этого аргумента, но если вы видите разницу между -server и -client, JIT-компилятор всегда является хорошим местом для начала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...