Comando lsmod in Linux: controllare i moduli del kernel caricati
lsmod elenca i moduli attualmente caricati nel kernel Linux, con dimensioni e informazioni sui riferimenti. Serve a verificare se un driver o una funzione è presente come modulo caricato; non certifica da solo che il dispositivo funzioni correttamente.
L’output riorganizza i dati di /proc/modules. Module indica il nome, Size la dimensione e Used by il conteggio dei riferimenti e, quando disponibili, i nomi dei moduli che dipendono da quello elencato. Le funzioni integrate direttamente nel kernel possono non comparire qui.
Sintassi di base
lsmod [opzioni]
Le parentesi indicano opzioni facoltative e non vanno digitate. Apri un terminale sul sistema Linux da esaminare; in SSH interroghi il kernel della macchina remota. Per la normale lettura non serve sudo, se l’ambiente consente l’accesso ai dati. lsmod fa parte di kmod: controlla lsmod -V, lsmod -h e man lsmod per la versione installata.
Esempi pratici
Leggere l’elenco dei moduli
lsmod
Controlla le righe sotto l’intestazione. Il comando fotografa i moduli caricati al momento dell’esecuzione, non tutti i moduli installati su disco. L’elenco può cambiare tra due letture.
Cercare un modulo specifico
lsmod | grep '^overlay '
La ricerca seleziona una riga che inizi con overlay seguito da uno spazio, come nell’output di kmod. Evita così corrispondenze come overlay_extra o un nome comparso solo nella colonna delle dipendenze. Sostituisci il nome con quello da cercare, tenendo conto che grep interpreta un’espressione regolare.
Se non compare nulla, esegui anche lsmod da solo e controlla eventuali errori. Con grep, lo stato 1 indica nessuna corrispondenza, non necessariamente un guasto; un errore nel comando a monte non va confuso con l’assenza del modulo. Nella shell lo stato della pipeline normalmente è quello dell’ultimo comando, salvo impostazioni come pipefail.
Esaminare i metadati del modulo
modinfo overlay
Questo comando legge informazioni del modulo, per esempio file, descrizione e parametri disponibili. Può riuscire anche se il modulo non è caricato. Viceversa, può non trovare i file del kernel in esecuzione anche quando lsmod mostra il modulo: verifica la corrispondenza fra kernel attivo e moduli installati, soprattutto dopo un aggiornamento.
Interpretare le colonne dell’elenco
Per limitare la visualizzazione iniziale puoi usare:
lsmod | head
Con il normale comportamento di head vedi fino a dieci righe, compresa l’intestazione. Non significa che i moduli siano dieci o che le righe successive siano irrilevanti. Il seguente è un estratto illustrativo della struttura, con numeri dimostrativi, non un risultato misurato:
Module Size Used by
nf_conntrack 123456 1
Size non è un indicatore del carico CPU né un benchmark. Il numero in Used by è un conteggio dei riferimenti, non il numero storico di chiamate al driver o la percentuale di utilizzo. Gli eventuali nomi dopo il numero indicano moduli utilizzatori; non costituiscono l’elenco dei processi che usano un dispositivo. Il numero può essere positivo anche senza nomi di moduli accanto.
Un valore zero non è una raccomandazione a rimuovere il modulo. Per diagnosticare un driver occorrono anche stato del dispositivo e messaggi del kernel. Un modulo caricato può non essere associato al dispositivo che stai controllando.
Se una funzione non compare, può essere integrata nel kernel, non ancora richiesta come modulo oppure esposta con un nome diverso. modinfo NOME_MODULO, sostituendo il segnaposto, aiuta a leggere i metadati disponibili senza caricare nulla.
Opzioni principali
| Opzione | Effetto in kmod lsmod |
|---|---|
-s |
Invia gli errori a syslog invece che allo standard error; non sposta lì la normale tabella dei moduli. |
-v |
Aumenta i messaggi diagnostici sul funzionamento del programma, non aggiunge una misura di utilizzo dei driver. |
-V |
Mostra la versione dello strumento ed esce. |
-h |
Mostra l’aiuto ed esce. |
Limiti e precauzioni
Se il comando manca, verifica la disponibilità del pacchetto kmod nella distribuzione. Se l’elenco non è leggibile, controlla gli errori, l’accesso a procfs e le restrizioni dell’ambiente prima di concludere che non esistano moduli. Un container condivide normalmente il kernel dell’host Linux: questa vista non è un inventario indipendente di driver del container.
lsmod e modinfo negli esempi sono interrogazioni. Caricare o rimuovere un modulo con strumenti come modprobe o rmmod è un’operazione distinta, che può influire su dispositivi, filesystem e rete. Non è un passaggio necessario per verificare l’elenco e non va dedotta dal solo conteggio dei riferimenti.
In questo ambiente Windows con Git Bash non sono disponibili lsmod e modinfo. Sono state verificate la sintassi shell e la ricerca grep su dati preparati, inclusi nomi simili che non devono corrispondere. Non è stato letto un elenco reale di moduli Linux e non è stato caricato o rimosso alcun modulo.
Domande frequenti
Se un driver non compare in lsmod, significa che non è utilizzabile?
Non necessariamente. Può essere integrato nel kernel, avere un altro nome o non essere ancora caricato. Controlla il supporto del kernel e lo stato del dispositivo; la sola assenza dall’elenco non basta a decidere.
Documentazione ufficiale
Consulta i manuali upstream di lsmod e modinfo, pubblicati dal progetto kmod. Il sorgente ufficiale di lsmod mostra la gestione delle opzioni e dei riferimenti visualizzati.




