Autor Tema: Modulos del kernel en memoria  (Leído 1329 veces)

0 Usuarios y 1 Visitante están viendo este tema.

mekkon

  • Visitante
Modulos del kernel en memoria
« en: 02-02-2015, 13:35 (Lunes) »
Buenas,

Después de haber compilado varias versiones de  OpenWrt para algún que otro router, he caído en la cuenta de que los módulos que se añaden (por ejemplo, vfat, ntfs, etc...) se quedan en memoria aunque no se utilicen, con lsmod por ejemplo:

Código: [Seleccionar]
root@OpenWrt:~# lsmod
act_connmark             880  0
act_mirred              2432  0
act_skbedit             1696  0
arc4                    1312  2
b43                   355121  0
button_hotplug          2800  0
cfg80211              205443  2 b43
cls_flow                5136  0
cls_fw                  3360  0
cls_route               5184  0
cls_tcindex             4112  0
cls_u32                 5824  0
compat                  2436  3 b43
crc16                   1015  1 ext4
crc_ccitt               1019  1 ppp_async
crypto_blkcipher       10312  1 arc4
crypto_hash             9514  2 ext4
ehci_hcd               38875  1 ehci_platform
ehci_platform           2480  0
em_u32                   576  0
ext4                  325237  1
fat                    47007  1 vfat
gpio_keys_polled        3504  0
ifb                     2752  0
input_core             24617  4 gpio_keys_polled
input_polldev           1939  1 gpio_keys_polled
ip6_tables              9057  3 ip6table_raw
ip6t_REJECT             2192  2
ip6table_filter          656  1
ip6table_mangle         1040  1
ip6table_raw             576  1
ip_tables               9261  4 iptable_nat
ipt_ECN                 1408  0
ipt_MASQUERADE          1120  1
ipt_REJECT              1792  2
iptable_filter           720  1
iptable_mangle           928  1
iptable_nat             1760  1
iptable_raw              640  1
ipv6                  253681 36 nf_conntrack_ipv6
jbd2                   48477  1 ext4
mac80211              374343  1 b43
mbcache                 4029  1 ext4
nf_conntrack           46795 19 iptable_nat
nf_conntrack_ftp        5264  1 nf_nat_ftp
nf_conntrack_ipv4       4640 11
nf_conntrack_ipv6       4944  3
nf_conntrack_irc        2784  1 nf_nat_irc
nf_conntrack_rtcache    2448  0
nf_defrag_ipv4           806  1 nf_conntrack_ipv4
nf_defrag_ipv6          9159  1 nf_conntrack_ipv6
nf_nat                  9065  7 iptable_nat
nf_nat_ftp              1200  0
nf_nat_ipv4             2446  1 iptable_nat
nf_nat_irc               976  0
nls_base                5024 10 vfat
nls_cp437               4432  0
nls_cp850               3664  0
nls_cp852               3664  0
nls_iso8859_1           2896  0
nls_iso8859_15          3408  0
nls_utf8                 864  0
ntfs                   96259  0
ohci_hcd               28553  1 ohci_platform
ohci_platform           1712  0
ppp_async               6256  0
ppp_generic            20226  3 pppoe
pppoe                   7744  0
pppox                   1338  1 pppoe
sch_hfsc               13552  0
sch_ingress              944  0
scsi_mod               81320  2 usb_storage
sd_mod                 25376  2
slhc                    4187  1 ppp_generic
ts_bm                   1392  0
ts_fsm                  2528  0
ts_kmp                  1328  0
tun                    15023  0
usb_common              1636  1 usbcore
usb_storage            37176  1
usbcore               115055  6 usblp
usblp                   8560  0
vfat                    8048  0
x_tables               10997 42 ipt_MASQUERADE
xt_CLASSIFY              576  0
xt_CT                   2240  0
xt_DSCP                 1504  0
xt_HL                   1312  0
xt_LOG                  9344  0
xt_REDIRECT             1056  0
xt_TCPMSS               2640  0
xt_comment               480 61
xt_connbytes            1488  0
xt_connlimit            2624  0
xt_connmark             1040  3
xt_conntrack            2192 10
xt_dscp                  992  0
xt_ecn                  1312  0
xt_helper                880  0
xt_hl                    800  0
xt_id                    480  0
xt_length                688  1
xt_limit                 992 20
xt_mac                   624  0
xt_mark                  672 28
xt_multiport            1184 10
xt_nat                  1072  0
xt_recent               6608  0
xt_state                 688  0
xt_statistic             784  0
xt_string                784  0
xt_tcpmss                992  0
xt_tcpudp               1696 18
xt_time                 1664  0

como se puede ver, hay bastantes que no se han utilizado ninguna vez.

¿hay alguna forma de que estos módulos se auto descarguen (auto unload) del núcleo si no se están utilizando? y que se carguen cuando sea necesario, por supuesto :)

Si hago una compilación que incluya todos los drivers para 3G y Wifi, ¿se quedan en memoria aunque no se estén utilizando también?

un saludo.


« Última modificación: 02-02-2015, 13:37 (Lunes) por mekkon »

Joseba30

  • Visitante
Re: Modulos del kernel en memoria
« Respuesta #1 en: 07-02-2015, 11:29 (Sábado) »
El hecho de que lsmod informe de que un modulo  depende de 0 modulos es irrelevante sobre su uso.

En tu caso por ejemplo de b43 dependen 0 modulos pero es el controlador wifi. lsmod lee /proc/modules y lo lista, y salvo soporte para impresora usb o algo asi casi todo lo que tienes es perfectamente normal.

mekkon

  • Visitante
Re: Modulos del kernel en memoria
« Respuesta #2 en: 09-02-2015, 10:57 (Lunes) »
¿Crees que udev hace una mejor gestión de los módulos en memoria que hotplug?

Joseba30

  • Visitante
Re: Modulos del kernel en memoria
« Respuesta #3 en: 11-02-2015, 15:09 (Miércoles) »
      En mi modesta  opinion si, udev es "mas mejor" que hotplug, systemd es mejor que init, y dbus es mejor que ubus,  el tema es que openwrt esta pensada para dispositivos limitaditos, y en ese entorno de recursos limitados,  pues es una mejor eleccion esos demonios "mini" que rondan el mega de memoria entre todos en vez de los demonios maxi que rondaran entre cinco y diez entre todos.

Y por cierto diria que openwrt ha migrado de hotplug a procd, un demonio propio.
« Última modificación: 11-02-2015, 15:25 (Miércoles) por Joseba30 »