Ich hab jetzt ziemlich viel RAM in meinem PC (so viel, daß er _sicher nicht_ auslagern muß) aber er lagert trotzdem aus.
Wenn ich mit „free“ schau, wie viel RAM und Swap er benutzt, steht da ganz rechts unter „cached“ eine ziemlich große Zahl (mehr als die Hälfte meines RAMs).
Wie kann ich denn dem Linux beibringen, daß es nicht so viel cached?
Ich hab jetzt ziemlich viel RAM in meinem PC (so viel, daß er
_sicher nicht_ auslagern muß) aber er lagert trotzdem aus.
Ja, Linux lagert agressiv aus zugunsten von FP-cache
Wenn ich mit „free“ schau, wie viel RAM und Swap er benutzt,
steht da ganz rechts unter „cached“ eine ziemlich große Zahl
(mehr als die Hälfte meines RAMs).
Wie kann ich denn dem Linux beibringen, daß es nicht so viel
cached?
Holzhammermethode: als root
swapoff -a
dann wird eingeswappt und der Festplatten-swap-space abgestellt. Wenn im RAM nicht genug Platz ist um nach Annulierung des Caches weiter einzuswappen, schießt der Kernel mit „kill“ um sich. Das kann bei ungespeicherten Daten ziemlich ungemütlich werden.
Du könntest noch probieren, für den Swap-Space in der fstab andere Prioritäten einzustellen, also z.B.
/dev/hda5 swap swap defaults, **pri=100** 0 0
Danach einmal
swapoff -a
swapon -a
unter Berüchsichtigung o. g . Fallstricke
Ich hab jetzt ziemlich viel RAM in meinem PC (so viel, daß er
_sicher nicht_ auslagern muß) aber er lagert trotzdem aus.
Ja, Linux lagert agressiv aus zugunsten von FP-cache
Quatsch mit Soße. Linux lagert nicht aggresiv aus, es nutzt aggresiv Speicher. Und zwar genau zum Gegenteil von Auslagern. Egal wieviel Speicher man in einen Linux Rechner pumpt, free wird immer so gut wie alles als belegt anzeigen.
Nichts ist dämlicher, als ungenutzer (teurer und schneller) Speicher. Linux nutzt automatisch so viel Speicher wie möglich zum puffern von Festplattendaten, damit Zugriffe aufs Laufwerk minimiert werden. Wird der Speicher von Anwendungen benötigt, dann wird er kurzerhand wieder freigegeben.
Wenn Du sehr viel Speicher hast, dann sollte die Angabe hinter Swap nahe Null sein.
Sorge Dich nicht um das Speichermanagement, arbeite einfach
Genaueres zum Speichermanagement von Linux erfährst Du unter
Quatsch mit Soße. Linux lagert nicht aggresiv aus, es nutzt
aggresiv Speicher. Und zwar genau zum Gegenteil von Auslagern.
Egal wieviel Speicher man in einen Linux Rechner pumpt, free
wird immer so gut wie alles als belegt anzeigen.
Aha. Hmm, ich 512MB, das is wirklich viel! Ich will aber ned, daß das Ding das mit 350MB Cache voll macht! Weil wenn ich dann mal ein größeres Programm auf mache, tut er es trotzdem in den Swap, und gibt die gecachten Mem-Bereiche ned schnell genug frei…
Aber Du hast recht, es is super, wenn er so viel wie möglich im RAM hat. Ich werd das mal ausprobieren, wie flink er wirklich das angehäufte wieder freigibt.
Sag, gibts da wirklich kein Tool, mit dem man ihm sagen kann, wie viel er für diesen Cache hernehmen darf? Oder wie viel er hernehmen darf?
also, du kannst davon ausgehen, das du mit deinen mitteln niemals so schlau sein kannst, wie die tausende von entwicklern, die den kernel zu dem stabilen und schnellen ding gemacht haben, der er jetzt ist. Die Jungs um Alan haben am Speichermanagement schon einiges an Schweiss gelassen, und wenn es so lange dauern wuerde den Speicher freizugeben, dann haetten die das garantiert nicht gemacht…
Bei dir koennte ich mir eher vorstellen, das dein Rechner nicht den gesamten Speicher cached und deshalb langsamer wird, wenn er auslagert…
Tschau
Burkhard
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
also, du kannst davon ausgehen, das du mit deinen mitteln
niemals so schlau sein kannst, wie die tausende von
entwicklern, die den kernel zu dem stabilen und schnellen ding
gemacht haben, der er jetzt ist. Die Jungs um Alan haben am
Speichermanagement schon einiges an Schweiss gelassen, und
wenn es so lange dauern wuerde den Speicher freizugeben, dann
haetten die das garantiert nicht gemacht…
Bei dir koennte ich mir eher vorstellen, das dein Rechner
nicht den gesamten Speicher cached und deshalb langsamer wird,
wenn er auslagert…
Ja, richtig. Welche CPU und welchen Chipsatz nutzt Du denn? Wenn es etwas