4 GB RAM will nicht

FreeBSD, Gentoo, openSUSE, CentOS, Ubuntu, Debian
millo
Posts: 49
Joined: 2004-03-05 17:29

4 GB RAM will nicht

Post by millo » 2006-05-05 17:24

Hi,

hab einen Server mit 32Bit Debian und 4 GB RAM. Allerdings erkennt der Kernel nur 2,5 GB RAM. Memory Hole ist im BIOS aktiviert, HIGHMEM im Kernel auch.

Code: Select all

# cat .config| grep HIGHMEM
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
CONFIG_HIGHMEM=y
# free
             total       used       free     shared    buffers     cached
Mem:       2565380      31720    2533660          0       1744      10496
-/+ buffers/cache:      19480    2545900
Swap:      3903752          0    3903752

Besonders auffällig auch:

Code: Select all

# dmesg| grep MEM
3200MB HIGHMEM available.
896MB LOWMEM available.
# dmesg| grep Memory
Memory: 2564316k/4194304k available (3637k kernel code, 39204k reserved, 325k data, 236k init, 1687232k highmem)
Hat wer eine Idee? Kernel ist übrigens 2.6.16.12

Besten Dank und Gruß!

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

Re: 4 GB RAM will nicht

Post by Joe User » 2006-05-05 17:52

Code: Select all

# CONFIG_HIGHMEM64G is not set
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.

millo
Posts: 49
Joined: 2004-03-05 17:29

Re: 4 GB RAM will nicht

Post by millo » 2006-05-05 18:07

Hi,

super, danke für den Tipp, nun funktionierts :)

Gruß

klerfrq
Posts: 38
Joined: 2004-08-04 19:54

Re: 4 GB RAM will nicht

Post by klerfrq » 2007-05-15 09:12

Und was hast du geändert, damit es funktioniert?

Etwa nur in dem Config-File die Zeile auskommentiert:

Code: Select all

CONFIG_HIGHMEM64G=y


??

Gruß
klerfrq

User avatar
daemotron
Administrator
Administrator
Posts: 2800
Joined: 2004-01-21 17:44

Re: 4 GB RAM will nicht

Post by daemotron » 2007-05-15 11:05

Lieber nicht... für die Bearbeitung der Kernel-Konfiguration gibt's hüsche Frontends wie menuconfig... etwas relativ triviales wie Highmem kann man aber auch direkt in der Konfiguration ändern (vorausgesetzt, man weiß, was man tut). Den Kernel neu übersetzen muss man hinterher aber trotzdem noch 8)

klerfrq
Posts: 38
Joined: 2004-08-04 19:54

Re: 4 GB RAM will nicht

Post by klerfrq » 2007-05-15 11:47

Habe nun aus meiner Distribution Debian Etch das Paket "linux-headers-2.6.18-4-686-bigmem" installiert - neugestartet - und nun werden auch die 4GB RAM angezeigt.

philwo
Posts: 24
Joined: 2006-05-12 02:05

Re: 4 GB RAM will nicht

Post by philwo » 2007-06-15 12:43

Mal grundsätzlich - ich habe bald einen neuen Rootserver (Core 2 Duo / 4 GB RAM) und mein Hoster hat leider das Rescue-System bislang nur für 32-bit Linux am laufen.. sprich - sollte ich Debian 64-bit installieren, habe ich womöglich ein Problem, weil ich aus dem Rescue-System nicht mal grub oder lilo starten kann. ;)

Mit HIGHMEM und PAE sollte man ja theoretisch unter 32-bit Debian auch ohne Probleme die 4 GB ansprechen können. Ich habe allerdings diverse Horrorgeschichten gehört, was dann alles passieren kann ;) ("Im schlimmsten Fall kann der Kernel nicht den ganzen benötigten RAM in den LOWMEM mappen und killt dann wegen Speichermangel Prozesse, obwohl eigentlich noch genügend RAM im HIGHMEM übrig wäre")

Außerdem möchte ich gern Xen verwenden.

Was würdet ihr sagen - lieber 32-bit, weil es in der Praxis trotzdem sehr gut läuft, oder aufs Rescue vorerst (angeblich kommt es in einem Monat) verzichten und Debian 64-bit nehmen, weil alles andere Quatsch wäre?

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

Re: 4 GB RAM will nicht

Post by Joe User » 2007-06-15 12:55

Solange Du nicht über 4GB RAM hast, solltest Du bei 32Bit (CONFIG_HIGHMEM64G=y) bleiben, insbesondere in Verbindung mit XEN.
Die Horrorgeschichten würden mich interessieren, URL?

User avatar
daemotron
Administrator
Administrator
Posts: 2800
Joined: 2004-01-21 17:44

Re: 4 GB RAM will nicht

Post by daemotron » 2007-06-15 14:31

Was ich mich schon länger frage: Was bewirkt eigentlich

Code: Select all

CONFIG_HIGHMEM64G=y
auf einem 32-Bit System? Mit der 4GB-Option kann man keine 4GB RAM adressieren, weil ein Teil des Adressraums für Hardware-Adressen reserviert ist. Das habe ich verstanden. Aber was macht die 64GB-Option? Sorgt die nur dafür, dass der Kernel bei der Speicheradressierung auf PAE zurükgreift, oder ist das ein davon unabhängiger Mechanismus? Wenn tatsächlich nur PAE dadurch genutzt wird, würde ich dann fast eher zu einem 64 Bit OS raten, denn PAE als Abstraktionsschicht zwischen Speicherbus und VME ist dann doch eine eher schmutzige Angelegenheit, was Performance und (potenzielle) Fehleranfälligkeiten angeht (allein durch das Mapping von 36-Bit-Adressen (Kernel-Sicht) auf 32-Bit-Adressen (Prozess-Sicht) dürfte einiges an Performance verloren gehen).

philwo
Posts: 24
Joined: 2006-05-12 02:05

Re: 4 GB RAM will nicht

Post by philwo » 2007-06-16 00:22

Generell über Linux Memory Management / Konsequenzen von HIGHMEM:
Siehe: http://kerneltrap.org/node/2450
Die Horrorgeschichten würden mich interessieren, URL?
http://linux-mm.org/HighMemory:
The main danger of running on a 32 bit system with lots of highmem (more than 8GB) is that the kernel could end up needing to allocate more data than what fits in ZONE_NORMAL. This means the machine can effectively run out of memory, even if there were still lots of high memory free.

Another issue is that the system will more aggressively reclaim kernel data structures like cached inodes, buffer heads and other caches that can help system performance.

The third issue is that, on a 32 bit system, no process will be able to effectively use more than 3GB of memory. This means that buying more than 4GB of memory is only useful if none of the processes on your system need all of the memory.
Alles in allem klingt HIGHMEM64G irgendwie mehr wie eine Krücke, als wie eine Lösung. :/ Jetzt ist nur die Frage - hat man bei genau 4 GByte RAM mehr Ärger durch HIGHMEM64G, oder durch ein komplettes 64-bit OS? ;)
Aber was macht die 64GB-Option? Sorgt die nur dafür, dass der Kernel bei der Speicheradressierung auf PAE zurükgreift
Ja. Zur Performance liest man sehr sehr viel - von "extremely slow" bis zu "minor performance delta" (http://uwsg.iu.edu/hypermail/linux/kern ... /0606.html). Na toll.

Also heißt es wohl, selber benchmarken und gucken, wer Recht hat.

millo
Posts: 49
Joined: 2004-03-05 17:29

Re: 4 GB RAM will nicht

Post by millo » 2007-07-20 16:32

Nun muss ich die Thematik auch nochmal aufwirbeln :)

Bei mir steht nächste Woche eine 8 GB RAM Maschine in den Startlöchern. Ich habe mir philwo's Links durchgelesen und augenscheinlich scheint es erst bei mehr als 8 GB RAM Probleme zu geben, andererseits soll man bei über 4 GB 64Bit in Erwägung ziehen.

Hat jemand tiefergreifende Erkenntnisse? Ich würde 32bit preferieren, ein Prozess der > 3 GB RAM für sich allein braucht wird sowieso nicht auf dem Server laufen.

philwo
Posts: 24
Joined: 2006-05-12 02:05

Re: 4 GB RAM will nicht

Post by philwo » 2007-07-20 16:47

Auf meinem Server mit 4 GByte läuft jetzt ein 32bit Ubuntu Feisty, free sagt:

Code: Select all

root@pear:~# free -m
             total       used       free     shared    buffers     cached
Mem:          3980       2985        994          0        222       1770
-/+ buffers/cache:        992       2988
Swap:         1906          0       1906
"ultra extremely low performance" ist nicht zu spüren. ;) Ich habe zwar keine Benchmarks gemacht, aber der Server geht soweit gut ab. ;)

millo, magst du mir PN schreiben, wo du deinen 8 GByte Server bestellt hast? Ich hatte nämlich auch so ein 8 GByte Angebot im Auge, aber wir haben dann erstmal einen mit 4 genommen (man muss sich ja nicht gleich übernehmen ;)).