6 GByte RAM - 32 bit Kernel

FreeBSD, Gentoo, openSUSE, CentOS, Ubuntu, Debian
nn4l
Posts: 172
Joined: 2002-06-19 07:06

6 GByte RAM - 32 bit Kernel

Post by nn4l » 2008-03-20 16:32

Ich habe soeben einen neuen Root-Server mit 6 GByte bekommen und habe - wie bei meinen anderen Root-Servern mit 2 und 4 GByte RAM - ein Standard Debian mit 32-bit-Kernel installiert.

"top" zeigt 6 GByte verfügbares RAM an. Kann ich die vollständig nutzen, obwohl ich nur einen 32-bit-Kernel habe? Auf dem Server sollen mehrere vserver laufen, jeder davon dient hauptsächlich als Tomcat Application Server. Die Tomcats sind mit je 1 GByte Heap Size konfiguriert.

Nach meinem Verständnis müsste das funktionieren, da die benötigten Speicherbereiche für einen laufenden Prozess stets in eine 32-bit-Adresse gemapped werden. Es müssten sich also 5 * 1 GByte im RAM unterbringen lassen, alle paar msec wird dann der Linux Kernel das jeweils benötigte Segment in den adressierbaren Speicherbereich mappen und die CPU kann dann den Prozess so ausführen, als wären nur 2 GByte RAM vorhanden.

Ist diese Vorgehensweise vernünftig, oder sollte ich doch besser ein 64-bit-Linux installieren? Mir ist natürlich klar, dass jeder Prozess nur max. 2 GByte (vielleicht sind es auch 4) adressieren kann, das stellt für mich aber keine Einschränkung dar.

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: 6 GByte RAM - 32 bit Kernel

Post by Roger Wilco » 2008-03-20 16:44

Bei 6 GB RAM würde sich ein 64 Bit OS durchaus lohnen. Der 32 Bit Kernel muss ein paar Tricks nutzen (64G HIGHMEM Support), um den kompletten Speicher ansprechen zu können. Und eben das geht dann in die Performance.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11599
Joined: 2003-02-27 01:00
Location: Hamburg

Re: 6 GByte RAM - 32 bit Kernel

Post by Joe User » 2008-03-20 16:47

Ich würde bei der Aufgabenstellung auch einen 32Bit-Host einsetzen, da der Host "nur" noch die Hardwarezugriffe regeln muss. Der Host muss zwar die vollen 6GB RAM verwalten kann aber selbst nur noch 1GB nutzen, da die anderen 5GB den vservern zugeordnet sind, und benötigt somit kein 64Bit. Den anfallenden Overhead im Vergleich zum 64Bit-System kann man bei einem vserver-Host IMHO vernachlässigen, da dürfte der Overhead durch die vserver selbst erheblich höher sein...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

oxygen
RSAC
Posts: 2179
Joined: 2002-12-15 00:10
Location: Bergheim

Re: 6 GByte RAM - 32 bit Kernel

Post by oxygen » 2008-03-20 17:09

Die Vor- und Nachteile halten sich in diesem Fall die Waage denke ich. Aktuell betreue ich gerade mehrere Xen Hosts mit 8 GB Ram, die teilweise mit 32bit Ubuntu und teilweise mit 64bit Ubuntu laufen. Allerdings sind die DomUs hier nur mit 64 - 256 MB Ram konfiguriert, da embedded Systeme getestet werden. Dementsprechrend sind es 32bit Kernel. Die Unterschiede sind marginal. Einerseits gibt es tatsächlich einen Overhead durch das nötige PAE und die größeren Pointer, allerdings hält sich dieser doch in Grenzen. Dafür hat man mit einem 32bit System ein besser getestetes System. Als Vorteile durch ein 64bit System hätte man in manchen Bereichen bessere Performance, allerdings wäre dieser Vorteil mehr oder weniger verspielt, wenn man 32 bit Gast Systeme einsetzt.

Gerade im Bereich Virtualisierung ist die Unterstützung von 64bit Systemen schon sehr gut und wird sich weiter verbessern. Da solch ein System ja mit Sicherheit auf eine längere Laufzeit angelegt ist und eine Migration von 32 auf 64bit kaum möglich ist, würde ich dann direkt zu 64bit greifen. Es bedeutet mehr Flexibiltät. In deiner Situation wäre es auch eine Überlegung Wert, direkt 64bit Gäste zu verwenden. Falls nötig liese sich dann doch mal mehr Ram zuweisen.