Re: Fehler von Swappartition

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Wed, 25 May 2005 17:40:22 +0200 (CEST)

Bernd Walter <ticso(at)cicely12.cicely.de> wrote:
> On Wed, May 25, 2005 at 03:32:36PM +0200, Oliver Fromme wrote:
> > Bernd Walter <ticso(at)cicely12.cicely.de> wrote:
> > > Hier mag es aber nur bedeuten, dass die Platte mit anderen Requests
> > > derart ausgelastet ist, dass der Request vom swap_pager einfach nur
> > > lange dauert.

Übrigens 20 Sekunden, wie ich gerade im Source nachgeschla-
gen habe (src/sys/vm/swap_pager.c). Das ist eigentlich
schon eine ziemlich lange Zeit.

> >
> > Das habe ich noch nie erlebt. Es ist anzunehmen, daß Re-
> > quests des Swap-Pagers mit höchster Priorität behandelt
> > werden, allein schon um Deadlocks zu vermeiden.
>
> Wäre mal eine Überprüfung wert, macht aber wenig Sinn mit hoher
> Prio zu arbeiten, falls man vorsorglich auslagert.

Es geht hier um Lesezugriffe. Bei denen ergibt es Sinn.

> In der Meldung steht ja leider nicht mal ob es ein Schreib- oder
> Lesezugriff war.

Ein Lesezugriff. Bei Schreibzugriffen können keine solchen
Fehler auftreten.

> > > Sehr ärglich ist das im mit swap auf NFS, wo es diese Meldungen
> > > bereits gibt, wenn man nur mal den Server rebootet.
> >
> > Das stimmt.
> >
> > > Was ich bis jetzt nur nicht weiß ist, ob das als Fehler oder Warnung
> > > behandelt wird.
> >
> > Nach meiner Erfahrung hängen die betreffenden Prozesse nur
> > und werden nicht etwa gekillt (wie es etwa bei Speicher-
> > mangel gemacht wird) -- würde ja auch nichts nützen.
> > Insofern ist es aus Sicht des Swap-Pagers »nur« eine War-
> > nung.
>
> In Anbetracht, dass ich hier ein paar Maschinen habe, die beim
> reboot des NFS Servers mit einem Panic aussteigen bin ich da sehr
> ein wenig Sketisch.
> Der Panic ist sicherlich ein Bug - muss das mal mit einer aktuellen
> OS Version überprüfen, aber es fällt mir schwer zu glauben, das so
> ein Bug existieren kann, wenn der betroffene Prozess einfach nur
> solange blockiert wird.

Der Swap-Pager (swap_pager.c) weiß gar nichts von Prozes-
sen. Die Pages können ja auch gar nicht eindeutig irgend-
welchen Prozessen zugeordnet werden.

Das Handling von Prozessen übernimmt der »Page-out Daemon«
(vm_pageout.c). Der weiß wiederum nichts von Swap-Areas
und wo sie liegen (lokale Partitionen, NFS oder sonstwas).

Der ganze Code ist schon relativ sauber strukturiert. Bei
der von Dir genannten Panic hätte man anhand des Traces
vermutlich schon die Stelle recht genau eingrenzen können,
in der der Bug steckt.

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
"Emacs ist für mich kein Editor. Für mich ist das genau das gleiche, als
wenn ich nach einem Fahrrad (für die Sonntagbrötchen) frage und einen
pangalaktischen Raumkreuzer mit 10 km Gesamtlänge bekomme. Ich weiß nicht,
was ich damit soll." -- Frank Klemm, de.comp.os.unix.discussion
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 25 May 2005 - 17:41:29 CEST

search this site