Re: SWAP partition - heutzutage

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Wed, 29 Aug 2012 10:30:28 +0200 (CEST)

Christian Weisgerber wrote:
> Oliver Fromme wrote:
>
> > Man könnte jetzt argumentieren: Wenn Swappen schlecht ist,
> > kann man ja einfach reichlich RAM reinstecken und dann ganz
> > auf Swap verzichten. Das ist eher keine gute Idee, denn
> > man kann nie sicher sein, dass nicht irgendwann doch mal
> > eine besonders hohe Spitze auftritt und der RAM nicht
> > ausreicht.
>
> Und wenn man n GB Swap hat, dann kann man nie sicher sein, dass
> nicht irgendwann doch mal eine besonders hohe Spitze auftritt und
> der Swap nicht ausreicht.

Richtig, aber das ist schon unwahrscheinlicher. Der Swap
vergrößert quasi die "Knautschzone" und gibt einem mehr
Luft, um auf die Situation zu reagieren. Und falls es am
Ende dann doch noch gegen die Wand fährt, verringert der
Swap auch die Wahrscheinlichkeit, dass der Kernel einen
"unschuldigen" Prozess killt, da der/die Schuldige(n) mehr
Spielraum zum Wachsen haben.

Ein typisches Szenario ist ein Daemon oder eine Library,
die ein kleines Memory-Leak hat. Wenn es dann noch von
etlichen Benutzern gleichzeitig verwendet wird, greifen
auch die üblichen Limits nicht mehr. Irgendwann, fast
unmerklich, wird dann immer mehr Swap verwendet. Ganz
ohne Swap wäre jetzt schon Schicht im Schacht, aber dank
Swap kann der Admin das Problem erkennen und beseitigen,
bevor es zu ernsten Beeinträchtigungen kommt.

Der Speicher von Servern wird auch häufig so dimensioniert,
dass er die Grundlast und "normale" Spitzen locker
abdeckt, während der Swap dafür sorgt, dass die Kiste
nicht gleich gegen die Wand fährt, wenn mal kurzzeitig
eine hohe Spitze kommt. Und damit die Spitzen nicht so
hoch werden können, dass auch der Swap nicht genügt,
kann man -- je nach Art des Servers -- mit Limits,
Daemon-Konfiguration (z.B. MaxChildren usw. bei Apache)
und einem geeigneten Monitoring vorbeugen. Ein sehr
einfaches Mittel ist z.B., ein vmstat(8) mitlaufen zu
lassen und die Spalten po und sr im Auge zu behalten,
die einen Anhaltspunkt für das Paging bzw. den "memory
pressure" liefern.

Es kommt natürlich immer auf den Einzelfall an; manche
Server haben eine relativ geringe Dynamik in der Speicher-
nutzung (z.B. VM-Hosts). Hier bringt Swap nicht so viel.
Aber im allgemeinen ist Swap keinesfalls nutzlos.

> > Davon abgesehen hat Swap die zweite Aufgabe, im Falle einer
> > Kernel-Panic den Crash-Dump aufzunehmen.
>
> Frag mal Heino, was er mit einem Kernel-Dump anfangen will.

Wenn er von einem Kernel-Bug betroffen ist und diesen
meldet, kann es vorkommen, dass ihn ein Developer bittet,
ein bestimmtes kgdb-Kommando auszuführen, um z.B. einen
Variablenwert zu überprüfen. Ich halte Heino durchaus
für fähig, dass er das kann.

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart
FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd
"Perl will consistently give you what you want,
unless what you want is consistency."
        -- Larry Wall
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 29 Aug 2012 - 10:30:59 CEST

search this site