Ungebrauchte Module automatisch entladen lassen

Post Reply
Message
Author
BlackPanther
Posts: 44
Joined: 29. May 2001 21:16
Location: Bern/Schweiz

Ungebrauchte Module automatisch entladen lassen

#1 Post by BlackPanther »

Hi,

Mir ist aufgefallen (eigentlich schon lange) dass viele Module im Kernel geladen sind, auch wenn sie gar nicht benötigt werden

athlete:/proc# lsmod
Module Size Used by Not tainted
sr_mod 13112 0 (autoclean)
cdrom 28960 0 (autoclean) [sr_mod]
parport_pc 14756 1 (autoclean)
lp 6656 0 (autoclean)
parport 23264 1 (autoclean) [parport_pc lp]
serial 45440 0 (autoclean)
isa-pnp 28648 0 (autoclean) [serial]
ipip 6112 0 (unused)
smbfs 32160 0 (unused)
nfsd 66592 0 (unused)
nfs 71196 0 (unused)
lockd 48288 0 [nfsd nfs]
sunrpc 59732 0 [nfsd nfs lockd]
nls_iso8859-14 3392 0 (unused)
nls_iso8859-15 3392 0 (unused)
nls_iso8859-2 3360 0 (unused)
nls_iso8859-1 2848 0 (unused)
nls_cp852 3616 0 (unused)
nls_cp850 3616 0 (unused)
vfat 9500 0 (unused)
fat 29752 0 [vfat]
msr 1408 0 (unused)
microcode 3036 0 (unused)
cpuid 1184 0 (unused)
udf 77280 0 (unused)
uhci 25064 0 (unused)
emu10k1 55648 2
ac97_codec 9696 0 [emu10k1]
sound 54444 0 [emu10k1]
soundcore 3588 7 [emu10k1 sound]
dss1_divert 8740 0 (unused)
isdn_bsdcomp 5760 0 (unused)
isdn 118048 1 [dss1_divert isdn_bsdcomp]
slhc 4640 0 [isdn]
tulip 36832 1
nvram 3752 0 (unused)
binfmt_misc 5700 1
sg 24036 0 (unused)
printer 5632 0 (unused)
hid 12960 0 (unused)
usbcore 54016 1 [uhci printer hid]
mousedev 3904 1
input 3360 0 [hid mousedev]
rtc 5592 0 (autoclean)
unix 13636 113 (autoclean)

Ich dachte, dass Linux nur die Module lädt, die es braucht, und die nicht genuzten wieder entlädt, oder schon gar nicht lädt!?
Mache ich was falsch, oder ist das einfach so - ich glaube ehrer nicht <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle"> ?

Besten Dank für Eure Tips!

Mike

Jochen

Re: Ungebrauchte Module automatisch entladen lassen

#2 Post by Jochen »

Unter Kernel 2.0 liess man zum automatischen Laden und Entladen von Modulen den kerneld laufen. Seit Kernel 2.2 gibt es dafür einen eigenen Kernelthread (kmod), der Module aber nur laden kann; ein Entladen muss händisch geschehen oder mittels eines crontab-Eintrags. Setze als root ein "crontab -e" ab und mache folgenden Eintrag:<pre>*/5 * * * * /sbin/rmmod -as</pre>Damit wird alle 5 Minuten mittels rmmod versucht, alle Module, die das autoclean-Flag gesetzt haben (-a), zu entladen. Das kann natürlich nur gehen, wenn sie nicht in Gebrauch sind. Eventuelle Meldungen gehen an den Syslog-Daemon (-s).

Jochen

BlackPanther
Posts: 44
Joined: 29. May 2001 21:16
Location: Bern/Schweiz

Re: Ungebrauchte Module automatisch entladen lassen

#3 Post by BlackPanther »

Danke Jochen, werds gleich mal testen!

Mike

Jochen

Re: Ungebrauchte Module automatisch entladen lassen

#4 Post by Jochen »

Hierzu ne Frage von einem Newbie:

Ich sehe das eher als Nachteil, mit lsmod so eine elend lange Liste zu bekommen. Da verliert man ja total den Überblick. Was haben sich die Programmierer denn dabei gedacht?

Wenn der neue Kernel die Module nicht mehr selber rausschmeißt, haut der sich damit nicht selber den Speicher zu?

Jo

trinity
Posts: 821
Joined: 12. Oct 2001 10:04

Re: Ungebrauchte Module automatisch entladen lassen

#5 Post by trinity »

>Ich sehe das eher als Nachteil, mit lsmod so eine elend lange Liste zu bekommen.
was erwartest du 10 Einträge und dann z. B. sie haben zwar noch mehr Module geladen, aber um sie nicht zu überfordern, beenden wir hier die Ausgabe?
Das filtern der sinnvollen Informationen ist dir überlassen.

>Da verliert man ja total den Überblick. Was haben sich die Programmierer denn dabei gedacht?
Den Überblick hast du schon in dem Moment verloren, als das enstprechende Modul geladen wurde. Was hat sich denn derjenige dabei gedacht, der sich die Liste anzeigen lies?

>Wenn der neue Kernel die Module nicht mehr selber rausschmeißt, haut der sich damit nicht selber den Speicher zu?
Jein. Natürlich wird dabei Speicher verbraucht, aber die Module werden erst geladen, wenn du sie auch verwendest.
BTW: Du solltest mal dein System konfigurieren.
"Korrekt, Freundlich, Kostenfrei", wähle genau zwei. (Lutz Donnerhacke in dcsf)

Post Reply