Wie in „Betriebssystemverhalten, 1980“ geschrieben, erkannte mein Server (Debian Etch) nur einen Teil des eingebauten Arbeitsspeichers. Wie sich also nun herausstellte, war der genutzte Kernel (2.6.18-5-486) nicht optimal. Wenn ich die bisher gefundene Informationen korrekt verstehe, war die Option „HIGHMEM“ nicht gesetzt. Zumindest war das auch das Ergebnis von „grep -i HIGHMEM /boot/config-2.6.18-5-486“.
CONFIG_NOHIGHMEM=y0
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set
Haette es gereicht CONFIG_NOHIGHMEM auf n zu setzen? Ich weisse es nicht. Aber alleine schon aufgrund der Tatsache, dass der Kernel fuer meinen AMD Sempron scheinbar nicht korrekt war, habe ich mich auf die Suche nach einem passenderen Kernel gemacht. Der in diesem Zusammenhang gefunden „Beitrag CPU-Uebersicht und Kompatibilitaetsliste“ war schon mal sehr interessant. Das Ergebnis von „aptitude search linux-image-2.6.18-6|grep -i amd“ waren dann noch immer drei Eintraege (amd64, k7, vserver-k7). Leider war es mir nicht moeglich meinen Prozessor bei AMD *eindeutig* zu identifizieren. Grund ist, dass mir als Stepping D0, E3 und E6 angeboten wird, ein „grep -i stepping /proc/cpuinfo“ aber „stepping: 2“ liefert. Also lieber auf Nummer sicher gehen und eine k7-Variante waehlen. Da die vserver-Variante eher fuer den Einsatz von Linux-VServer gedacht ist, habe ich also die normale k7-Version installiert. Und was zeigt mir „grep -i memtotal /proc/meminfo“ nun nach dem Neustart mit neuem Kernel an? „MemTotal: 2596116 kB“
Unklar ist mir allerdings noch, warum im Rahmen der Installation nicht gleich ein passenderer Kernel installiert wurde?
Also mein NOHIGHMEM war nicht drin (=> war Highmem drin). Es reicht eine Zeile in der Kernelconfig auszukommentieren, damit sie disabled ist. So machen kernel config/menuconfig/xconfig/… das auch.
Sprichst du von /usr/src/linux/.config, oder von der config in /boot? Ich wollte den Kernel nicht erstellen, sondern einen fertigen nutzen. Ich gebe aber auch zu, dass ich nun schon so lange keinen Kernel mehr gebaut habe, dass mir die Zusammenhaenge etwas fehlen.
Die config in /boot ist nur eine Kopie von der .config aus /usr/src/linux gedacht fuer z.B. make oldconfig (bei Kerneln, die sich nicht an ihre Config erinnern koennen). Fertige sind doof.
Somit haette eine Aenderung der /boot/config-* nichts gebracht. Und extra einen neuen Kernel dafuer kompilieren? Dann lieber einen fertigen. Wann mach ein selbstgebauter Kernel heute ueberhaupt noch Sinn? Ernsthafte Frage! 😉
Ja. Mein System _bootet_ innerhalb von weniger als 10 Sekunden und geht ab wie Schmitz‘ Katze! Das kann kein fertiger Kernel!
Bootet? Ok, mag also fuer eine Workstation Sinn machen. Aber bei meinem Server ist mir die Bootzeit, solange sie im ertraeglichen Rahmen bleibt, *eigentlich* ejal 🙂 Hat sich denn auch die Performance verbessert? Wenn ja, wie hast du gemessen? Denn das waere eher interessant.
Gemessen habe ich nicht. Es ist im spuerbaren Bereich. Das bezieht sich aber nur auf Maschinen, bei denen nicht viel Schnickschnack laeuft. Ich hab einen minimalen Kernel. Alles was ich nicht zum Leben brauche ist draussen. Aber ja… Es ist bei mir eine Workstation und kein Server. 🙂