Ich schaue auf die JVM-Konfigurationsoptionen für die Ausführung von Alfresco, vor allem this Dokument auf der Alfresco Wiki. Eine der Empfehlungen besteht darin, die JVM-Flags -Xcomp
und -Xbatch
zu verwenden. Die Begründung dafür lautet:Java VM-Tuning - Xbatch und -Xcomp
Wenn Sie Hotspot die Klassen vorkompilieren möchten, können Sie [-Xcomp und -Xbatch] hinzufügen. Dies wird jedoch die Startzeit des Servers erheblich erhöhen, aber fehlende Abhängigkeiten, die später getroffen werden können, hervorheben.
Von dem, was ich habe read elsewhere über die -Xcomp
und -Xbatch
Flaggen, ich frage mich, ob sie wirklich einen Nutzen bieten.
-Xcomp
bekommt HotSpot die gesamten Code vorher mit maximaler Optimierung zu kompilieren, wodurch jede Profilierung alledem ist die VM über den Standard-Betrieb des Systems erhalten.-Xbatch
stoppt Hintergrundkompilierung, was bedeutet, dass der Thread, der den Code verursacht hat, kompilierte Blöcke ist, bis die Kompilierung abgeschlossen ist. Nach der Kompilierung wird jedoch der zuvor blockierte Thread den kompilierten Code, it will still run the interpreted code nicht ausführen. Dies war eine Änderung in Java 6 (Mustang) - vor Mustang wurden Threads, die für das Kompilieren durch das Vorhandensein des-Xbatch
-Flags blockiert waren, garantiert in dem kompilierten Code ausgeführt, sobald das Kompilieren abgeschlossen war. Daher schätze ich, dass die Empfehlung des Flags-Xbatch
ein Relikt für die Ausführung von Alfresco auf älteren VMs ist.
Hat jemand irgendwelche Gedanken? Meine Neigung ist, diese beiden Flaggen loszuwerden und sich auf die VM zu verlassen, um die Dinge richtig zu machen.
Ich möchte zwei Dinge hinzufügen, vor allem, dass ich noch keinen Zugang zu einer Alfresco-Instanz habe, um das zu testen, und zweitens weiß ich nicht wirklich, welche Spezifikation der Maschine Alfresco anders hostet Bei den anderen Konfigurationsoptionen muss es sich um eine 64-Bit-VM handeln. Trotzdem hoffe ich, dass die Community einen nützlichen Input erhält, vielleicht aus einer allgemeinen Perspektive von HotSpot-Tuning.
Der Real-World-Beispielabschnitt auf der Alfresco-Seite ist Aug 2009 und es scheint JDK 1.6 zu sein? – shinynewbike
@ktaylorjohn Ja, das ist richtig, aber ich frage mich nur, ob die -Xbatch und -Xcomp Flags einen Unterschied machen. Alfresco scheint das einzige Projekt zu sein, das diese Flags außerhalb der JVM-Tests und ähnlichem erwähnt. – Rich