Почему lsmod управляет, показывают много модулей с размером 16 384

Я работаю sudo lsmod команда на моем LTS Ubuntu 16.04 и я получаю вывод, раздел которого показывают ниже.

Module                  Size  Used by
simple_lkm             16384  0
ufs                    73728  0
xt_CHECKSUM            16384  1
iptable_mangle         16384  1
ipt_MASQUERADE         16384  3
nf_nat_masquerade_ipv4    16384  1 ipt_MASQUERADE
iptable_nat            16384  1
nf_nat_ipv4            16384  1 iptable_nat
nf_nat                 24576  2 nf_nat_ipv4,nf_nat_masquerade_ipv4
nf_conntrack_ipv4      16384  2
nf_defrag_ipv4         16384  1 nf_conntrack_ipv4
xt_conntrack           16384  1
nf_conntrack           98304  5 nf_nat,nf_nat_ipv4,xt_conntrack,nf_nat_masquerade_ipv4,nf_conntrack_ipv4
ipt_REJECT             16384  2
nf_reject_ipv4         16384  1 ipt_REJECT
xt_tcpudp              16384  6
bridge                114688  0
stp                    16384  1 bridge
llc                    16384  2 stp,bridge
ebtable_filter         16384  0
ebtables               24576  1 ebtable_filter
ip6table_filter        16384  0
ip6_tables             20480  1 ip6table_filter
iptable_filter         16384  1
ip_tables              20480  3 iptable_filter,iptable_mangle,iptable_nat
x_tables               24576  11 ip6table_filter,xt_CHECKSUM,ip_tables,xt_tcpudp,ipt_MASQUERADE,xt_conntrack,iptable_filter,ebtables,ipt_REJECT,iptable_mangle,ip6_tables
drbg                   28672  1
ansi_cprng             16384  0
ctr                    16384  2
ccm                    20480  2
binfmt_misc            20480  1
gpio_ich               16384  0
dell_wmi               16384  0
sparse_keymap          16384  1 dell_wmi
dell_rbtn              16384  0
dell_laptop            24576  0
dcdbas                 16384  1 dell_laptop
dell_smm_hwmon         16384  0
nvidia              10375168  52
coretemp               16384  0
kvm_intel             167936  0
kvm                   483328  1 kvm_intel
snd_hda_codec_hdmi     49152  1
snd_hda_codec_idt      53248  1
irqbypass              16384  1 kvm
snd_hda_codec_generic    69632  1 snd_hda_codec_idt
snd_hda_intel          36864  3
snd_hda_codec         118784  4 snd_hda_codec_hdmi,snd_hda_codec_idt,snd_hda_codec_generic,snd_hda_intel
snd_hda_core           61440  5 snd_hda_codec_hdmi,snd_hda_codec_idt,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
snd_hwdep              16384  1 snd_hda_codec
input_leds             16384  0
...

Теперь, мне любопытно, если существует какая-либо определенная причина, что размер многих модулей 16384.

1
задан 19 May 2017 в 19:02

1 ответ

Это не размер модулей, для получения реального размера этих модулей, как которые можно выполнить что-то:

lsmod | grep 16384 | cut -f1 -d ' ' | xargs modinfo | grep filename |\
 grep -o '/.*' | xargs stat -c "%s - %n"

, Который выводы (в байтах):

...
19086 - '/lib/modules/4.4.0-78-generic/kernel/sound/core/seq/snd-seq-midi.ko'
21470 - '/lib/modules/4.4.0-78-generic/kernel/sound/core/snd-hwdep.ko'
15798 - '/lib/modules/4.4.0-78-generic/kernel/sound/core/seq/snd-seq-dev
...

Эти "16384" размер памяти, используемой тем модулем в байтах, который равен "16 кибибитам". И поскольку я знаю, что это - просто число по умолчанию и также минимум, который может использоваться, если Вы смотрите тщательно, Вы видите, что нет никакого модуля с размером меньше, чем 16 384.

я предполагаю, что этот минимум связан с PTHREAD_STACK_MIN, выполнен:

getconf PTHREAD_STACK_MIN

Вы доберетесь:

16384

От здесь :

атрибут размера стека определяет минимальный размер (в байтах), который будет выделен для потоков, созданных с помощью attr объекта атрибутов потока.

читает больше и [еще 117] .

5
ответ дан 3 December 2019 в 06:38

Другие вопросы по тегам:

Похожие вопросы: