Re: Swap Groesse
On Thu, Jan 23, 2003 at 11:00:26AM +0100, Marc Schiffbauer wrote:
> > Kommt auf den Einsatzzweck an, grundsaetzlich so viel, dass der
> > Speicher _nie_ ausgeht, darauf reagiert Linux *extrem* ungehalten. Ein
>
> Ach ja? Es ist wohl eher so, dass Linux hier sehr gut reagiert
> (IMHO). Wenn der Linux Kernel keinen Speicher mehr hat, dann schlägt der
> OOM-Killer des Kernels zu. Dieser killt den Prozess, der den meisten
> Speicher verbraucht. Danach ist dann wieder Ruhe.
Afaik erfolgt die Auswahl des zu killenden Prozesses *nicht* in
Abhängigkeit vom verbrauchten Speicher. Afair spielt eine Rolle, wie
lange ein Prozess bereits läuft. Und es kann sehr gut sein, daß
zufällig derjenige Prozess gekillt wird, der gerade Speicher
anfordert. Jenachdem, welcher Prozess gekillt wird (z. B. init), kann
das System in einen undefinierten/unsicheren Zustand geraten.
Deshalb muß man dafür sorgen, daß der Swapspace nach Möglichkeit nie
ausgeht!
Wieviel Swapspace man braucht, hängt davon ab, was auf dem Rechner
laufen wird. Als allgemeine Empfehlung: Man legt möglichst auf jeder
Platte am Anfang eine Swappartition an in einer Größe, die ungefähr
dem erwarteten/gewünschten Swapbedarf geteilt durch die Anzahl der
Platten entspricht. Wenn's geht, gibt man vorsichtshalber noch 128 MB
oder mehr dazu, und man nimmt lieber möglichst viel, ohne zu viel von
der verfügbaren Plattenkapazität dafür zu verwenden. Daraus bildet man
nach Gefühl einen Kompromiß, der den Einsatzzweck des Rechners
berücksichtigt.
So ungefähr kommt das dann hin --- wenn es aber trotzdem zu wenig ist,
muß man über die Zusammenstellung des Servers neu nachdenken ...
Die einzelnen Swappartitionen versieht man in der fstab mit
entsprechender Priorität, d. h., die Swappartitionen, die auf
unterschiedlichen Platten liegen, bekommen jeweils die selbe Priorität
--- siehe man 2 swapon.
Falls man zudem stark auf Performance hinsichtlich der Plattenzugriffe
aus ist, legt man die ,normalen' Partitionen entsprechend verteilt auf
die Platten, z. B. /usr nicht auf die selbe Platte wie /home sowie
/tmp und /var wiederum gesondert. /tmp und /var auf der selben Platte
ist meistens ok; über /opt muß man ggf. nachdenken. Man kann noch
/usr/lib oder dergl. gesondert legen, aber damit handelt man sich
ggf. Probleme mit Links ein --- da der Gewinn nicht sehr groß ist,
läßt man das lieber.
GH
Reply to: