Re: diskless system ohne swap

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Fri, 14 May 2004 12:11:02 +0200 (CEST)

Marc Santhoff <M.Santhoff(at)t-online.de> wrote:
> Am Mo, den 03.05.2004 schrieb Oliver Fromme um 12:35:
> > Prinzipiell vertraue ich der Ausgabe von »ps« mehr als der
> > von »top«. Aber beide zeigen natürlich immer nur einen
> > Teil der Realität an (u.U. sogar inkonsistente Daten, da
> > das System ja währenddessen nicht stehenbleibt), und das
> > Größte Problem ist vielleicht der Mensch vor dem Bild-
> > schirm, der die angezeigten Daten falsch interpretiert. ;-)
>
> Nun ja, die ungefähren Werte tun's ja auch zur Orientierung.

Falsch interpretierte Werte müssen nicht mal annähernd »un-
gefähr« richtig sein. :-) Typische Beispiele:

Jemand sieht in top folgende Zeile:
  269 root 2 0 257M 0K select 0:00 0.00% 0.00% rpc.statd
und nimmt daraufhin an, daß der rpc.statd tatsächlich 257
Mbyte Speicher verbraucht.

Oder jemand mit 512 Mbyte RAM im Rechner sieht, daß top
»nur« noch 700K Free anzeigt, und denkt dann, daß er zu
wenig RAM hat, oder daß irgendein Programm (oder FreeBSD
selbst) ein Speicherleck haben muß.

> > Die Memory-Mappings eines Prozesses kanst Du übrigens in
> > /proc/$PID/map nachschlagen (sofern das procfs gemountet
> > ist). Vielleicht war es ja eher das, worauf Deine Frage
> > abzielte.
>
> Das kann schon sein. :)
>
> War ich mal wieder zu blind oder gibt es darüber keine Dokumentation?

procfs(5)

> > [maxusers]
> > Probier's aus. Per Default (wenn auf 0), dann wird es an-
> > hand der RAM-Größe gesetzt, d.h. bei 128 Mbyte RAM hättest
> > Du effektiv maxusers=128, was für Deinen Anwendungsfall zu
> > hoch ist.
>
> Also die Systemvariable (kern.maxusers oder so) stand bei dem Hobel auf
> 32, wenn der kernel mit 0 übersetzt war. Wie gesagt mit 128 MB RAM.

Ja, die Formel ist etwas komplizierter, als ich sie in Er-
innerung gehabt hatte. Aus src/sys/kern/subr_param.c:

if (maxusers == 0) {
        maxusers = physpages / (2 * 1024 * 1024 / PAGE_SIZE);
        if (maxusers < 32)
                maxusers = 32;
        if (maxusers > 384)
                maxusers = 384;
}

Das müßte allerdings dann tatsächlich bei 128 Mbyte RAM
einen Wert von 128 ergeben. Bist Du sicher, daß er bei
Dir den ganzen RAM auch erkennt, und daß Du nicht in der
loader.conf noch etwas manipuliertst oder so?

Hm. Andererseits -- auf dem Rechner, auf dem ich hier
gerade eingeloggt bin, ist kern.maxusers == 126, und der
hat 256 Mbyte RAM. Das kann ich jetzt irgendwie gerade
nicht ganz nachvollziehen.

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.
 > Can the denizens of this group enlighten me about what the
 > advantages of Python are, versus Perl ?
"python" is more likely to pass unharmed through your spelling
checker than "perl".
        -- An unknown poster and Fredrik Lundh
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 14 May 2004 - 12:11:26 CEST

search this site