【linuxlsmod命令詳解】`lsmod` 是 Linux 系統中用于查看當前內核加載模塊的命令。它是 `Linux Module`(內核模塊)管理的重要工具之一,常用于調試、排查系統問題或了解系統運行時的模塊狀態。
一、
`lsmod` 命令主要用于顯示當前內核中已加載的模塊信息。它會列出模塊名稱、大小、使用次數等關鍵信息。該命令通常與 `modinfo`、`modprobe`、`rmmod` 等命令配合使用,以實現對內核模塊的管理。
通過 `lsmod`,用戶可以快速判斷某個驅動是否被正確加載,或者是否存在模塊沖突等問題。此外,`lsmod` 的輸出結果也常用于系統日志分析和性能優化。
二、表格展示
| 參數 | 說明 | |
| `lsmod` | 顯示所有已加載的內核模塊 | |
| `lsmod | grep 模塊名` | 過濾查找特定模塊的信息 |
| `lsmod -m` | 顯示模塊的依賴關系 | |
| `lsmod --help` | 查看幫助信息 | |
| `lsmod > modlist.txt` | 將模塊列表保存到文件 | |
| 輸出字段 | 說明 | |
| Module | 模塊名稱 | |
| Size | 模塊占用內存大?。ㄗ止潱? | |
| Used by | 被哪些模塊或進程引用 |
三、示例輸出
```bash
$ lsmod
ModuleSizeUsed by
nf_conntrack_ipv4 126400
ipv4163841 nf_conntrack_ipv4
nf_defrag_ipv4126401 ipv4
```
在這個示例中:
- `nf_conntrack_ipv4` 是一個網絡連接跟蹤模塊,大小為 12640 字節。
- `ipv4` 模塊依賴于 `nf_conntrack_ipv4`,因此被標記為“Used by”。
- `nf_defrag_ipv4` 用于處理 IPv4 數據包分片,也被 `ipv4` 使用。
四、使用場景
| 場景 | 說明 |
| 模塊加載失敗 | 通過 `lsmod` 判斷模塊是否成功加載 |
| 驅動問題排查 | 查看相關驅動模塊是否在運行 |
| 內存泄漏檢測 | 分析模塊占用內存情況 |
| 系統性能分析 | 識別高內存占用的模塊 |
五、注意事項
- `lsmod` 只能查看當前正在運行的模塊,無法查看未加載的模塊。
- 權限問題:普通用戶可能無法看到完整的模塊信息,建議使用 `sudo` 或 root 權限執行。
- 模塊信息存儲在 `/proc/modules` 文件中,`lsmod` 實際上是從該文件讀取數據并格式化輸出。
通過 `lsmod`,用戶可以更深入地了解 Linux 內核模塊的運行狀態,是系統管理員和開發人員必備的工具之一。


