Linux Command: lsmod
List loaded kernel modules
The lsmod command displays the status of currently loaded Linux kernel modules. Kernel modules are pieces of code that can be loaded into the kernel on demand, extending its functionality without rebooting. They handle hardware drivers, filesystems, network protocols, and various kernel features. lsmod reads the /proc/modules file and formats the output in a readable table showing the module name, size in memory, usage count, and which other modules depend on it. Understanding loaded modules is essential for hardware troubleshooting, driver management, and kernel debugging. Common uses include verifying that hardware drivers are loaded (network cards, GPUs, storage controllers), checking if specific kernel features are available (WireGuard, iptables, overlay filesystems), and identifying module dependencies before removal.
Syntax
lsmodCommon Examples
lsmod— Shows all currently loaded kernel modules with size and dependency information.lsmod | grep wireguard— Verify the WireGuard kernel module is loaded. Empty output means it is not loaded.lsmod | grep -E "e1000|igb|ixgbe|mlx|r8169|virtio_net"— Check which network driver module is in use. Helps identify network card driver issues.echo "Loaded modules: $(lsmod | tail -n +2 | wc -l)"— Count the total number of loaded kernel modules (excluding header line).
Pro Tips
Master this and 230+ other Linux commands with our comprehensive eBooks and cheat sheets.
Related Resources