Uso de memoria de un módulo de núcleo
ientras intentaba estimar la cantidad de memoria consumida por un módulo del núcleo (generalmente controladores de dispositivo), intenté usar elTall utilidad que proporcionó el tamaño de las áreas de memoria estática de .ko (.bss, .data, .text, etc.). Así que esperaba que la suma de estos valores fuera exactamente igual a la salida dada por lsmod comando inmediatamente después de insertar el módulo.
No se realiza ninguna asignación dinámica de memoria (kmalloc o vmalloc) en la función init () para garantizar que no está causando la diferencia. Entonces, ¿por qué hay una falta de coincidencia?
Curiosamente, se descubrió que la falta de coincidencia era una cantidad fija la mayor parte del tiempo !!
Las salidas de comando se enumeran a continuación
size chardev.kotext data bss dec hex filename
172 448 1024016 1024636 fa27c chardev.ko
lsmodModule Size Used by Tainted: P
chardev 1025040 0 - Live 0xc009d000