Ich möchte mal folgendes zur Diskussion stellen. Für Korrekturen und Ergänzungen bin ich dankbar.
Gründe für 64 Bit
Fallen mir eigentlich keine ein. Theoretisch könnte man argumentieren, dass man mit einem 32-Bit-Linux maximal 4 GB Speicher nutzen kann, mit 64 Bit sehr, sehr viel mehr. Praktisch ist es aber so, dass man stattdessen auch einen 32-Bit-Kernel mit PAE-Extension nehmen kann (Standardmässig z.B. bei Ubuntu und SuSE). Damit kann man 4096 TB (Terabyte) ansprechen. Das sollte auch für anspruchsvollere Zwecke genügen. Allerdings, zugegeben, bloss 4GB pro Prozess. Aber auch das sollte auf einem Client heutzutage genügen, ausser vielleicht für wirklich anspruchsvolle professionelle Videobearbeitung und so.
Darum würde ich empfehlen: 64-Bit-Kernel auf dem Server, aber nur dann, wenn man weiss, dass alle dort benötigten Programme 64-Bit-fähig sind, und auch nur, wenn man dm Server wirklich auch mehr als 4GB Speicher einbaut. Auf den Clients würde ich 32-Bit mit PAE installieren, ausser wenn man ganz speziell speicherhungrige Programm nutzt, die auch wirklich allein schon mehr als 4GB brauchen können.
Gründe gegen 64 Bit
- Es sind noch immer nicht alle Programme in 64-bit Version erhältlich. Das wäre an sich kein grosses Problem, weil das 64-Bit-System auch 32-Bit Programme laufen lassen kann. Allerdings gibt es bei Linux sehr oft die Situation, dass "hinter den Kulissen" mehrere Programme und Libraries zusammenarbeiten. Und dann müssen alle dieselbe Breite haben. Dies führt dazu, dass es recht häufig Probleme gibt: Ein von einem 32-Bit-Programm benötigter Unterprozess ist 64 Bit oder umgekehrt.
- 64-Bit-Programme sind ressourcenhungriger. Ein Integer (Standard-Ganzzahl, zum Beispiel "1000") braucht auf einem 32-Bit-System 4 Byte. Auf einem 64-Bit-System braucht dieselbe "1000" schon 8 Byte. Dasselbe gilt auch für die einzelnen Maschinenbefehle, aus denen ein Computerprogramm besteht. Die meisten werden auf 64-Bit-Systemem doppelt so lang. Man braucht für dieselbe Funktionalität auf einem 64-Bit-System ungefähr 50-100% mehr Speicher, als auf einem 32-Bit System. Statt 4GB müssten Sie also mindestens 6-8GB einbauen, um dieselbe Leistung zu erhalten, wenn Sie 64 Bit verwenden.
- 64 Bit macht dem Computer langsamer. Es ist ein Irrglaube, dass 64-Bit-Systeme schneller seien. An der Taktfrequenz ändert die grössere Daten- und Adressbusbreite ja genau gar nichts. Auch nicht an der Zahl der Taktzyklen, die für einen bestimmten Befehl benötigt werden. Hingegen stösst der 64-Bit-Prozess wenn er 32-Bit-Programme ausführen muss, öfters auf Misalignments (Befehle oder Daten, die nicht an einer 64-Bit-Grenze beginnen), weil diese Software ja auf 32 Bit aligned ist. Misalignments zwingen den Prozessor zu Extrazyklen, weil er sich auf die falsche Grenze synchronisieren muss. Solange es noch 32-Bit-Software gibt, wird derselbe Computer unter einem 64-Bit-System also langsamer werden. (Naja, vermutlich nicht spürbar, aber jedenfalls sicher nicht schneller)
- Achten Sie darauf, dass sowohl Java als auch Elexis in derselben Wortbreite compiliert sind (also entweder 32 Bit oder 64 Bit).
- Wenn Sie andere Java-Programme parallel verwenden, muss jedes die passende JVM vorfinden
- Wenn Sie externe libraries benötigen, müssen diese in derselben Wortbreite vorliegen
- Fragen Sie nicht mich, wenn Sie Probleme haben, das Ganze zum Laufen zu bringen.
- Wenn irgendwelche Fehler auftreten, testen Sie zuerst, ob diese Fehler auch unter 32 Bit auftreten, bevor Sie eine Fehlermeldung machen.