Re: diskless system ohne swap

From: Marc Santhoff <M.Santhoff(at)t-online.de>
Date: Fri, 14 May 2004 15:01:23 +0200

Am Fr, den 14.05.2004 schrieb Oliver Fromme um 12:11:
> 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ß.

Nun ja, ich brauchte ja nur die Werte für das von mir geschrieben
Programm, auf der Platte sind's 300kB, aber beim Start fraß und fraß es
... kommt davon, wenn man sich erstmal an Sprachen mit garbage
collection gewöhnt hat. Dann vergißt man leicht mal, die allozierten
Ressourcen zurück ans System zu geben.

> > > 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)

Ah ja. Die Frage woher man wissen soll, daß man in proc nachgucken kann
und in der manpage dann genaueres steht, vekneife ich mir heute - das
gehört zum notwendigen Grundwissen. <duck weg>

> > > [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?

Nö, aber ich hatte vergessen, den Speicher für die Grafik abzuziehen,
das sind ca. 3-4MB. Wahrscheinlich rechnet sich das anders.

> 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.

Mittlerweile läuft das Brettl auch ganz prima, das einzige was mir von
der Seite noch bevorsteht ist "System ausmisten" um auf der Flash-Karte
mehr Platz zu bekommen und ein Skript für's Systemupdate zu schreiben.

Ach ja, und der doofe VESA-Treiber ...

Immerhin erweitert der ganze Spaß meinen Horizont ganz ordentlich.

Gruß,
Marc

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 - 15:16:13 CEST

search this site