Как запустить TeamCity на 64-bit JVM

Я только что узнал, что TeamCity работает на 32-битной JVM в Windows по какой-то причине.

Я вижу ошибки памяти, зарегистрированные при проверке большого (не такого большого) репозитория Git, и уже на максимальном размере кучи для JVM. Я ничего не знаю о Java или JVM, или TomCat.

Как я могу запустить TeamCity на современном 64-битном JVM? Я чувствую, что это будет боль, иначе это будет по умолчанию.

мы крошечная команда, и если что-то не имеет Apple уровни "это просто работает", то мы пропускаем его.

мы можем жить с этим проектом не на сервере CI, но было бы неплохо знать, что связано и взвесить инвестиции.

любые советы с благодарностью.

редактировать

хорошо, поэтому Маркус указал на этот фрагмент (который я прочитал), но я не вижу никакой информации, объясняющей, что делать.

использование 64-битной Java для запуска TeamCity Server TeamCity может работать под обоими Тридцать два и 64 бит JVM. Рекомендуется использовать 32-битный JVM, если вам не нужно посвятить процессу TeamCity более 1,3 Гб памяти.

Если вы решили использовать x64 JVM, обратите внимание, что использование памяти почти в два раза при переключении с 32 на 64 бит JVM, поэтому, пожалуйста, сделайте конечно, вы указываете по крайней мере в два раза больше памяти, чем для 32-битной JVM, см. Настройка параметров памяти для сервера TeamCity.

Если вы запустите TeamCity как службу и переключитесь на бит x64, вы также необходимо использовать исполняемые файлы x64 Tomcat, см. Подробнее.

Я что-то пропустил?

Изменить 2

Ах, хорошо, похоронен в некоторых абзацах выше этой ссылки:

" Если вы работаете как служба Windows и хотите обновить JRE до 64 бит версия, вам нужно будет заменить jre на соответствующую Среда JRE"

Итак, я думаю, мне нужно скопировать некоторые файлы в папку /jre?

3 ответов


фрагмент из обновленного вопроса имел ссылку в оригинале, указывающую на инструкции по обновлению Java для TeamCity server в TeamCity Online doc.

в основном инструкции варьируются в зависимости от используемого дистрибутива TeamCity и способа запуска сервера.

Если вы намерены увеличить память для сервера TeamCity, пожалуйста, не забудьте прочитать соответствующий раздел на том же doc страница.

еще одно примечание: последние версии TeamCity выполняют git fetch в отдельном процессе, и связанные с Git Проблемы памяти во время fetch могут потребовать тонкой настройки опции.


Как я заставил его работать (TeamCity 8, Windows server 2008 r2):

  • установить 64-разрядную JRE на целевой машине, теперь есть два способа сделать это

  • A -> если вы используете TeamCity в комплекте JRE, замените папку JRE ([папка сервера TC]\JRE) на папку JRE во вновь установленной JRE x64 - вы должны закрыть Службу сервера TC (вместе со всей java.exe * 32 службы, которые также могут использовать это Среда JRE)

  • B - > измените внутренние свойства TeamCity, чтобы указать на недавно установленный JRE x64 (см. документацию для TC версии 8, TC версии 9 можно найти здесь):

    java.home=C\:\<JRE x64 install folder>\jre
    java.ext.dirs=C\:\<JRE x64 install folder>\jre\lib\ext\;C\:\Windows\Sun\Java\lib\ext 
    java.library.path=C\:\<JRE x64 install folder>\jre\bin\;C\:\Windows\Sun\Java\bin\;C\:\Windows\system32\;C\:\Windows\;C\:\local\Oracle\clients\112_64\bin\;C\:\local\Oracle… 
    
  • альтернативой точке B было бы изменение переменной среды JAVA_HOME, это более просто, но после этого требуется перезапуск Windows server

  • Если вы запустите службу сервера TC сейчас, она должна запустите как 64-разрядный процесс Java (chceck через PID в диспетчере задач) :

Resource  MonitorTask Manager


" Итак, я думаю, мне нужно скопировать некоторые файлы в папку /jre?"

нет. Вы установить 64-разрядная JRE и обновите соответствующую настройку, чтобы указать на JRE 64-разрядной установки.

Не копируйте материал из одной установки JRE в другую. Вы будете ломать вещи!