Каков эффект опции -server для JSM HotSpot? - PullRequest
0 голосов
/ 22 сентября 2009

Я не могу найти какой-либо четкой документации о точном влиянии прохождения опции -server при запуске Sun HotSpot JVM.

Кто-нибудь может подвести итог, что он делает?

Ответы [ 3 ]

5 голосов
/ 22 сентября 2009

С помощью -server JVM будет компилировать горячие точки (то есть части кода, которые часто выполняются) более агрессивно, и, как следствие, компилятору потребуется больше времени для этого. Это не проблема, поскольку вы используете эту опцию, только если ваши процессы выполняются в течение продолжительного времени (например, на сервере).

При использовании -client выполняемые оптимизации намного легче и быстрее, потому что вам не нужны длинные паузы, когда компилятор запускается при запуске клиентского приложения.

3 голосов
/ 22 сентября 2009

Мне кажется, я вспомнил, что читал, что он делает больше вперед, так что долго работающие программы работают лучше, но за счет более медленного запуска.

См. Также: В чем разница между системами -client и -server?

0 голосов
/ 22 сентября 2009

На некоторых платформах флаг -server установлен по умолчанию.

т.е. если его Linux / Solaris и имеет более 2 ГБ памяти и более 2 процессоров. Как вы можете сказать - эти требования были определены давно. У меня есть ноутбуки лучше, чем сейчас ...!

Я предполагаю, что они никогда не устанавливают его по умолчанию в Windows, потому что они предполагают, что Windows будет запускать только клиентскую Java, а * nix будет запускать серверную Java.

До недавнего времени мы запускали наши долго работающие серверные процессы на Windows Server, и изменение флага имело заметное значение.

...