Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > d667a145d78a93cee78c5358ca99c039 > files > 130

howto-text-nl-2006-5mdv2010.0.noarch.rpm


Small Memory mini-HOWTO

Todd Burgess

    <[1]tburgess@uoguelph.ca>

Vertaald door: Ellen Bokhorst

    <[2]tburgess@uoguelph.ca>

   12-12-2000
   Wijzigingen
   Herziening 0.1 01-12-2000 Herzien door: tb

   Beschrijft hoe Linux op een systeem met weinig geheugen te draaien.
     _________________________________________________________________

   Inhoudsopgave
   [3]Introductie
   [4]Linux Kernel
   [5]Virtuele Consoles
   [6]Daemons
   [7]Conclusies

Introductie

   Ervan uitgaande dat er geen sprake kan zijn van het kopen van meer
   geheugen, dan kun je een aantal dingen doen om het geheugengebruik
   onder Linux terug te dringen.

   Veel Linux distributies die klaar voor gebruik worden geleverd, zijn
   vanuit geheugenperspectief nogal overbeladen. Ze draaien meer services
   en bieden meer features dan de meesten van ons ooit nodig zullen
   hebben. Door veel van deze services uit te schakelen kun je
   verscheidene megabytes aan geheugen vrijmaken.

   Mijn eigen systeem is een 486DX2-66 met 12MB fysiek geheugen en 12 MB
   swap space. Hierop heeft Linux de afgelopen jaren prima gedraaid en
   hopelijk zal het Linux nog aardig wat meer jaren draaien. :)
     _________________________________________________________________

Linux Kernel

   Alle Linux kernels die met distributies worden geleverd zijn nogal
   overbeladen en bevatten meer features dan iemand van ons ooit nodig
   zal hebben. Als je je eigen kernel nog nooit hebt gecompileerd, dan is
   het zeer aan te raden dat je dit doet. Hoe je een kernel compileert
   valt buiten het kader van dit document, maar veel uitstekende Linux
   boeken en handleidingen die dit onderwerp in uitzonderlijk detail
   behandelen.

   Denk eraan niet meer features te configureren dat je nodig hebt
   wanneer je de kernel gaat compileren. Als voorbeeld: hoeveel van
   jullie sluiten PLIP ondersteuning in, in de kernel? En hoeveel van
   jullie die het opnemen in de kernel gebruiken het daadwerkelijk?
   Kleinere kernels hebben minder tijd nodig om te worden geladen,
   gebruiken minder geheugen en gebruiken minder CPU cycli.

   Nog iets anders is het gebruik van modules. Persoonlijk maak ik hier
   geen gebruik van, omdat ik ze omslachtig vind. Als je er wel prijs op
   stelt en ze gebruikt, kunnen ze overbeladen kernels voorkomen.
     _________________________________________________________________

Virtuele Consoles

   Een uitstekende manier om geheugen vrij te maken is het verlagen van
   het aantal VC's. Een kant-en-klare Linux distributie draait er
   ongeveer 6 van. Gemiddeld vereist het draaien van 6 VC's ongeveer 4MB
   geheugen. Een paar ervan verwijderen kan een paar MB's geheugen vrij
   maken. De meeste gebruikers hebben genoeg aan slechts 3 of 4 VC's.
   Hoeveel je ervan wilt uitschakelen is een kwestie van persoonlijke
   voorkeur. Denk er gewoon aan dat hoe minder je ervan draait, des te
   meer geheugen er voor je applicaties over zal blijven.

   Het bestand waarin wordt aangegeven hoeveel VC's worden geladen is
   /etc/inittab. Voor het deactiveren van VC's:

    1. Laad /etc/inittab in een teksteditor.
    2. Zoek naar een regel die lijkt op de volgende regel (met als
       belangrijkste kenmerk een regel die begint met c1):

c1:12345:respawn:/sbin/getty tty1 38400
linux

       Begin bij het hoogste nummer (d.w.z. c6) een plaats hier een
       commentaarteken voor (een '#'). Herhaal deze stap zo vaak als
       nodig is. Elke regel waar je een commentaarteken voor plaatst, is
       één VC minder draaiend.
    3. Start het systeem opnieuw op om de wijzigingen te activeren.
     _________________________________________________________________

Daemons

   Veel Linux distributies draaien daemons die de meesten van ons nooit
   zullen gebruiken. De meeste daemons worden door scripts geladen. Waar
   deze scripts zijn te vinden en hoe ze worden genoemd is afhankelijk
   van je Linux distributie. Slackware setup scripts zijn te vinden in
   /etc/rc.d/rc.*.

   Voor je verdergaat, is kennis van Unix shellscript programmering
   beslist een pluspunt. Als je echter geen ervaring hebt in het
   schrijven van Unix shellscripts, is wat hieronder volgt waarschijnlijk
   de snelste introductie in shellscript programmering die ooit is
   geschreven.

   Neem het volgende shellscript:
#!/bin/sh echo "hello world"
#echo "good bye cruel world"

   De voorgaande code zal de string "Hello world" op het scherm
   weergeven. In shellscripts moet op de eerste regel
   "#!/bin/sh"

   voorkomen. Daarna wordt elke regel uitgevoerd alsof je deze zou hebben
   getypt vanaf je toetsenbord (denk aan shellscripts als niets meer dan
   veredelde toetsenbordmacro's).

   Regels beginnend met een '#' worden beschouwd als commentaarregels,
   omdat ze niet door de shell worden uitgevoerd. De meeste
   opstartscripts die daemons laden zien er ongeveer zo uit:
if eenconditie
        doe iets
  fi

   Wat je kunt doen om het laden van een daemon uit te schakelen, is het
   plaatsen van een commentaarteken voor elke regel beginnend met
   if

   en elke regel eindigend op
   fi

   .

   Als je erachter wilt komen vanuit welk script een daemon wordt
   geladen. doorzoek je de opstartscripts op de naam van de daemon.
   Wanneer ik wil weten vanwaar inetd wordt geladen onder Slackware dan
   doe ik het volgende:
   $ cd /edt/rc/d $grep -n inetd rd.*
     _________________________________________________________________

inetd

   inetd staat mensen toe dingen te doen als telnet, ftp, en het sturen
   van talk verzoeken naar je machine. Als je je systeem nooit als een
   server gebruikt of op afstand een van de services hoeft te benaderen,
   dan kun je inetd verwijderen.
     _________________________________________________________________

lpd

   lpd wordt gebruikt om bestanden op je printer af te drukken met behulp
   van de opdracht lpr. Je kunt lpd verwijderen als je nooit iets afdrukt
   vanaf je Linux box. Als je echter een HP Deskjet (TM) printer hebt en
   wel wilt kunnen afdrukken, dan raad ik je van harte het package aan
   dat ik samen heb gesteld met de naam dj-printcap. Het is beschikbaar
   vanaf:

   [8]ftp://sunsite.unc.edu/pub/Linux/system/Printing/dj-printcap.tar.gz
     _________________________________________________________________

nfsd en mountd

   Deze twee daemons worden gebruikt om een NFS-server te draaien. Als je
   je Linux systeem nooit als een NFS server gebruikt, dan kun je deze
   twee daemons veilig verwijderen.
     _________________________________________________________________

portmap

   De portmap daemon wordt gebruikt voor het afhandelen van RPC services.
   Je kunt portmap verwijderen als je nooit een NFS-server draait of enig
   ander RPC programma.
     _________________________________________________________________

sendmail

   sendmail is een andere daemon waarvoor flink wat geheugen nodig is.
   Gebruik je je Linux box nooit als een relay voor het versturen van
   e-mail of ontvang je nooit mail op je Linux box, dan kun je sendmail
   waarschijnlijk wel verwijderen. Verstuur je e-mail vanaf je Linux box,
   dan kunnen de meeste e-mail clients zo worden ingesteld dat ze e-mail
   versturen vanaf een andere mailserver.
     _________________________________________________________________

anderen

   Het kan zijn dat er nog andere daemons worden geladen wanneer je je
   systeem start die je niet nodig hebt. Verwijder datgeen waarvan je
   denkt dat dit nodig is. Twee daemons die moeten blijven draaien zijn
   syslogd en klogd.
     _________________________________________________________________

Conclusies

   De voorgaande bespreking illustreert de stappen die ik nam om het
   geheugengebruik op mijn Linux box terug te dringen. Hopelijk heb ik je
   voldoende inzicht kunnen geven in wat je kunt doen met je Linux box om
   geheugen te besparen. Veel geluk en happy hacking!

References

   1. mailto:tburgess@uoguelph.ca
   2. mailto:tburgess@uoguelph.ca
   3. file://localhost/tmp/Small-Memory-NL/Small-Memory-NL.html#INTRODUCTION
   4. file://localhost/tmp/Small-Memory-NL/Small-Memory-NL.html#LINUXKERNEL
   5. file://localhost/tmp/Small-Memory-NL/Small-Memory-NL.html#VCONSOLES
   6. file://localhost/tmp/Small-Memory-NL/Small-Memory-NL.html#DAEMONS
   7. file://localhost/tmp/Small-Memory-NL/Small-Memory-NL.html#CONCLUSION
   8. ftp://ftp.redhat.com/pub/redhat/redhat-4.2/i386/RedHat/RPMS/dhcpcd-0.6-2.i386.rpm