Ich habe gerade herausgefunden, dass TeamCity aus irgendeinem Grund auf der 32-Bit-JVM unter Windows läuft.
Ich sehe Speicherfehler protokolliert beim Auschecken eines großen (nicht so großen) Git Repo und bin bereits bei der maximalen Heap-Größe für die JVM. Ich weiß nichts über Java oder die JVM oder TomCat.
Wie kann ich TeamCity auf einer modernen 64-Bit-JVM ausführen? Ich spüre, dass es ein Schmerz wird, sonst wäre es der Standard.
Wir sind ein kleines Team und wenn etwas nicht Apple-Level hat, funktioniert es einfach. Dann überspringen wir es.
Wir können mit diesem einen Projekt nicht auf dem CI-Server leben, aber es wäre schön zu wissen, was involviert ist und die Investition abzuwägen.
Irgendein Rat geschätzt.
Bearbeiten
Okay, also Markus zeigte auf diesen Ausschnitt (den ich gelesen hatte), aber ich kann dort keine Informationen sehen, die erklären, was zu tun ist.
Verwenden von 64-Bit-Java zum Ausführen von TeamCity Server TeamCity kann unter beiden ausgeführt werden 32 und 64 Bit JVM. Es wird empfohlen, 32-Bit-JVM zu verwenden, sofern Sie dies nicht benötigen dem TeamCity-Prozess mehr als 1,3 GB Speicher zu widmen.
Wenn Sie x64 JVM verwenden, beachten Sie bitte, dass die Speichernutzung ist fast verdoppelt beim Wechsel von 32 auf 64 Bit JVM, also bitte machen sicher, dass Sie mindestens doppelt so viel Speicher angeben wie für 32-Bit-JVM, siehe Einrichten von Speichereinstellungen für TeamCity Server.
Wenn Sie TeamCity als Dienst ausführen und zu x64-Bit wechseln, werden Sie das auch tun müssen x64 Tomcat ausführbare Dateien verwenden, sehen Sie mehr.
Habe ich etwas verpasst?
Bearbeiten 2
Ah, okay, in ein paar Absätzen über diesem Link ist das versteckt:
"Wenn Sie als Windows-Dienst ausgeführt werden und JRE auf 64 Bit aktualisieren möchten Version, müssen Sie \ jre mit entsprechenden ersetzen JRE "
Ich denke, ich muss einige Dateien in den Ordner / jre kopieren?
Das Snippet der aktualisierten Frage enthielt einen Link im Original, der auf Anweisungen zum Java-Update für den TeamCity-Server im TeamCity-Online-Dokument.
Grundsätzlich variieren die Anweisungen basierend auf der verwendeten TeamCity-Verteilung und der Art und Weise, wie der Server gestartet wird.
Wenn Sie beabsichtigen, den Speicher für den TeamCity-Server zu erhöhen, lesen Sie bitte die entsprechenden Abschnitt auf derselbenDoc-Seite.
Noch ein Hinweis: Bei aktuellen TeamCity-Versionen wird Git fetch in einem separaten Prozess ausgeführt, und Git-bezogene Speicherprobleme während des Abrufs erfordern möglicherweise eine Feinabstimmung des entsprechende Optionen .
Wie ich es geschafft habe (TeamCity 8, Windows Server 2008 R2):
Installieren Sie die 64-Bit-JRE auf dem Zielcomputer, jetzt gibt es zwei Möglichkeiten, dies zu tun
A - & gt; Wenn Sie die mit Teamcity gebündelte JRE verwenden, ersetzen Sie den JRE-Ordner ([TC Server-Ordner] \ JRE) durch den JRE-Ordner in der neu installierten JRE x64 - Sie müssen den TC-Server-Dienst herunterfahren (zusammen mit java.exe *) 32 Dienste, die möglicherweise diese JRE verwenden)
B - & gt; Ändern Sie die internen TeamCity-Eigenschaften, um auf neu installierte JRE x64 zu verweisen ( siehe Dokumentation für TC Version 8) , TC Version 9 finden Sie hier ):
%Vor%Eine Alternative zu Punkt B wäre, die Umgebungsvariable JAVA_HOME zu ändern. Das ist einfacher, erfordert aber danach einen Neustart des Windows-Servers
Wenn Sie den TC Server-Dienst jetzt ausführen, sollte er als 64-Bit-Java-Prozess ausgeführt werden (chceck über PID im Task-Manager):
Seien Sie nicht beunruhigt, wenn der Server nicht mit einem Fehler beginnt:
%Vor%Laden Sie JTDS - 1.3.1 herunter ( Ссылка ) und installieren Sie es
Nimm die Datei ntlmauth.dll vom Ordner [JTDS-1.3.1 install folder] / x64 / SSO und ersetze die im Ordner [TC Server] \ bin
Der TC-Server sollte nun als 64-Bit-Java-Prozess funktionieren
Sie können die Speicherzuweisung (das ist der eigentliche Punkt des Upgrades) jetzt auf dem Server wie hier beschrieben erhöhen: Ссылка
"Ich denke, ich muss einige Dateien in den Ordner / jre kopieren?"
Nein. Sie installieren eine 64-Bit-JRE und aktualisieren die relevante Einstellung so, dass sie auf die JRE der 64-Bit-Installation verweist.
Kopieren Sie keine Daten von einer JRE-Installation in eine andere. Du wirst Dinge brechen!
Tags und Links java windows jvm teamcity-7.1