現(xiàn)代Linux內(nèi)核正在隨著時間變化而迅速增長,以支持大量的硬件、文件系統(tǒng)和網(wǎng)絡功能。在此期間,“可加載模塊(loadable kernel modules,[LKM])”的引入防止內(nèi)核變得越來越臃腫,以及在不同的環(huán)境中靈活地擴展功能及硬件支持,而不必重新構建內(nèi)核。
最新的Linux發(fā)行版的內(nèi)核只帶了相對較小的“內(nèi)置模塊(built-in modules)”,其余的特定硬件驅動或者自定義功能作為“可加載模塊”來讓你選擇地加載或卸載。
內(nèi)置模塊被靜態(tài)地編譯進了內(nèi)核。不像可加載內(nèi)核模塊可以動態(tài)地使用modprobe、insmod、rmmod、modinfo或者lsmod等命令地加載、卸載、查詢模塊,內(nèi)置的模塊總是在啟動時就加載進了內(nèi)核,不會被這些命令管理。
找出內(nèi)置模塊列表
要得到內(nèi)置模塊列表,運行下面的命令。
你也可以用下面的命令來查看有哪些內(nèi)置模塊:
找出內(nèi)置模塊參數(shù)
每個內(nèi)核模塊無論是內(nèi)置的還是可加載的都有一系列的參數(shù)。對于可加載模塊,modinfo命令可以顯示它們的參數(shù)信息。然而這個命令對內(nèi)置模塊沒有用。你會得到下面的錯誤。
在 /sys/module目錄下,你可以找到內(nèi)核模塊(包含內(nèi)置和可加載的)命名的子目錄。進入每個模塊目錄,這里有個“parameters”目錄,列出了這個模塊所有的參數(shù)。
比如你要找出tcp_cubic(內(nèi)核默認的TCP實現(xiàn))模塊的參數(shù)。你可以這么做: