Liên hệProfile
Danh mục

Mục Lục

    Cách dùng lệnh lsmod trong Linux để kiểm tra và quản lý modules trong Kernel  hiệu quả

    Nguyễn Hưng

    Ngày đăng:

    31/03/2026

    Cập nhật lần cuối:

    31/03/2026

    Lượt xem:
    Chia sẻ
    Đánh giá
    5/5 - (1 bình chọn)

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    31/03/2026

    Cập nhật lần cuối:

    31/03/2026

    Mục lục

    lsmod là lệnh dùng để liệt kê các module nhân hiện đang được nạp vào bộ nhớ hệ thống, giúp bạn xem danh sách driver/module kernel đang hoạt động, gồm tên module, dung lượng và số lần đang được sử dụng, phù hợp khi bạn cần kiểm tra hoặc xử lý vấn đề liên quan đến driver. Trong bài viết này, mình sẽ hướng dẫn bạn chi tiết cách sử dụng lsmod để kiểm tra trạng thái các module quan trọng trên hệ thống.

    Những điểm chính

    Quan điểm của mình: Đối với người dùng mới, lệnh lsmod thường chỉ được xem là một công cụ để liệt kê danh sách các module nhân đang được tải. Tuy nhiên, trong quản trị hệ thống và gỡ lỗi, giá trị thực sự của nó mới được thể hiện. Nó giúp chuyển trọng tâm từ câu hỏi “có những module nào đang chạy?” sang các câu hỏi mang tính chẩn đoán hơn: “Tại sao module này được nạp?”, “Nó đang phục vụ cho thiết bị phần cứng nào?”, và “Các module nào đang phụ thuộc vào nó?”. Vì vậy, lsmod không chỉ là một lệnh liệt kê thông thường, mà là một công cụ chẩn đoán thiết yếu để phân tích sự tương tác giữa phần cứng và nhân hệ điều hành, đặc biệt hữu ích khi xử lý các vấn đề liên quan đến driver. Dưới đây là những điểm chính cần nắm:

    • Khái niệm: Biết được lsmod là gì và cơ chế truy xuất dữ liệu từ file hệ thống ảo để liệt kê các module nhân đang hoạt động.
    • Ví dụ sử dụng lệnh lsmod: Biết cách liệt kê các module nhân đang chạy và hiểu mối quan hệ phụ thuộc giữa chúng qua kết quả lệnh.
    • Vai trò: Nắm rõ giá trị của lsmod trong việc chẩn đoán sự cố phần cứng, quản lý driver và kiểm tra các thành phần bảo mật hệ thống.
    • Yêu cầu cài đặt: Biết được gói phần mềm chứa lệnh lsmod và khả năng sẵn có của công cụ này trên các bản phân phối Linux hiện đại.
    • Cách sử dụng thực tế: Thành thạo các cú pháp liệt kê module, cách lọc driver cụ thể bằng grep và xem thông tin chi tiết qua lệnh modinfo.
    • Xử lý lỗi phổ biến: Biết cách khắc phục các sự cố driver như module nạp sai tham số cấu hình hoặc không hiển thị trong danh sách.
    • Lưu ý khi sử dụng: Ghi nhớ các quy tắc về tính an toàn, sự phụ thuộc giữa các module và phân quyền khi quản trị nhân Linux.
    • Câu hỏi thường gặp: Giải đáp các thắc mắc phổ biến liên quan đến lsmod.

    lsmod là gì?

    lsmod (List Modules) là lệnh dùng để hiển thị danh sách tất cả các module nhân đang được nạp và hoạt động trong hệ thống Linux. Về mặt kỹ thuật, lệnh này hoạt động bằng cách truy xuất và định dạng lại nội dung thô từ file hệ thống ảo /proc/modules, giúp quản trị viên dễ dàng theo dõi trạng thái của các trình điều khiển và tính năng mở rộng của Kernel.

    Kết quả đầu ra của lsmod được trình bày dưới dạng bảng gồm 3 cột chính, cung cấp thông tin chi tiết về tài nguyên hệ thống:

    • Module: Tên định danh của module.
    • Size: Dung lượng bộ nhớ mà module đang chiếm dụng trong không gian nhân.
    • Used by:
      • Số lượng sử dụng: Cho biết có bao nhiêu tiến trình hoặc module khác đang phụ thuộc vào module này.
      • Danh sách phụ thuộc: Liệt kê tên các module đang sử dụng.
    lsmod dùng để hiển thị danh sách tất cả các module nhân đang được nạp và hoạt động trong Linux
    lsmod dùng để hiển thị danh sách tất cả các module nhân đang được nạp và hoạt động trong Linux

    Ví dụ sử dụng lệnh lsmod

    Liệt kê tất cả các module đang được tải

    Đây là cách sử dụng cơ bản nhất. Bạn chỉ cần gõ lệnh lsmod vào terminal và nhấn Enter.

    lsmod

    Kết quả sẽ là một danh sách, trông tương tự như sau:

    Module                  Size  Used by
    nouveau              2248704  2
    mxm_wmi                16384  1 nouveau
    snd_hda_intel          40960  5
    snd_hda_codec         135168  1 snd_hda_intel
    snd_hda_core           90112  2 snd_hda_intel,snd_hda_codec
    snd_hwdep              16384  1 snd_hda_codec
    snd_pcm               102400  3 snd_hda_intel,snd_hda_codec,snd_hda_core
    iwlwifi               344064  1 iwlmvm
    snd_timer              32768  1 snd_pcm
    cfg80211              786432  2 iwlmvm,iwlwifi
    snd                    86016  18 snd_hda_intel,snd_hwdep,snd_hda_codec,snd_timer,snd_pcm
    wmi                    32768  2 mxm_wmi,nouveau
    video                  49152  1 nouveau

    Giải thích kết quả:

    • Module: Đây là tên của module nhân. Ví dụ: nouveau là driver mã nguồn mở cho card đồ họa NVIDIA, snd_hda_intel là driver cho âm thanh.
    • Size: Kích thước của module trong bộ nhớ, tính bằng byte.
    • Used by: Cột này rất quan trọng. Nó cho biết có bao nhiêu module khác đang sử dụng module này, và liệt kê tên của chúng.
      • Ví dụ, ở dòng cfg80211, cột Used by có giá trị là 2 iwlmvm,iwlwifi. Điều này có nghĩa là module cfg80211 (module chung cho cấu hình Wi-Fi) đang được 2 module khác là iwlmvmiwlwifi sử dụng. Điều này cho thấy sự phụ thuộc giữa các module.

    Vai trò của lệnh lsmod

    Lệnh lsmod đóng vai trò rất quan trọng trong việc xử lý sự cố phần cứng, cấu hình driver hoặc kiểm tra các module bảo mật như firewall Netfilter. Cụ thể như sau:

    • Xác định sự cố phần cứng: lsmod giúp quản trị viên xác minh nhanh chóng xem trình điều khiển của các thiết bị phần cứng như card mạng, card âm thanh,… đã được nạp thành công vào nhân hệ điều hành hay chưa.
    • Quản lý và cấu hình driver: Lệnh này cung cấp cái nhìn tổng quan về các module đang hoạt động, từ đó hỗ trợ người dùng quyết định nạp thêm driver còn thiếu hoặc gỡ bỏ các driver không cần thiết để giải phóng tài nguyên.
    • Kiểm tra module bảo mật: lsmod cho phép rà soát trạng thái hoạt động của các thành phần an ninh quan trọng để đảm bảo hệ thống được bảo vệ đúng cách.
    • Phân tích sự phụ thuộc: Bạn có thể dùng lsmod để xác định mối quan hệ giữa các module, từ đó ngăn chặn việc gỡ bỏ nhầm các driver quan trọng gây lỗi hệ thống.
    Vai trò của lệnh lsmod
    Vai trò của lệnh lsmod

    Yêu cầu về môi trường cài đặt

    Trên các hệ điều hành Linux hiện đại như Ubuntu 20.04+, CentOS 7+,… lệnh lsmod là một phần của gói phần mềm kmod. Đối với các hệ thống đời cũ, lsmod thuộc gói module-init-tools. Do tầm quan trọng trong việc vận hành phần cứng, gói này luôn được cài đặt sẵn trên hầu hết các bản phân phối Linux tiêu chuẩn. Bạn có thể sử dụng lệnh ngay sau khi cài đặt hệ điều hành mà không cần cấu hình thêm.

    1. Xem danh sách module Kernel cơ bản

    Để hiển thị danh sách tổng quan các module kernel hiện đang được nạp vào bộ nhớ hệ thống, bạn hãy sử dụng lệnh sau:

    lsmod
    Xem danh sách Module Kernel cơ bản
    Xem danh sách module Kernel cơ bản

    Giải thích các cột thông tin:

    • Module: Tên của module kernel, ví dụ như nfnetlink, btrfs, raid456,…
    • Size: Kích thước của module tính bằng Byte, là dung lượng bộ nhớ Kernel mà module đang chiếm giữ.
    • Used by: Số lượng các module khác hiện đang sử dụng hoặc phụ thuộc vào module này.
    • Module Names: Liệt kê tên các module đang phụ thuộc vào module hiện tại, ví dụ như module raid456 đang phụ thuộc vào raid456_async_recov.

    2. Lọc thông tin của một module cụ thể

    Để tìm kiếm nhanh một module kernel nhất định nhằm xác nhận driver đó đã được Kernel tải và đang hoạt động hay chưa, bạn hãy sử dụng lệnh kết hợp với grep như sau:

    lsmod | grep <Tên Module>
    Lọc thông tin của một Module cụ thể
    Lọc thông tin của một module cụ thể

    Giải thích ví dụ với driver BTRFS:

    • Module chính (btrfs): Module này có kích thước 1564672 Bytes, cho thấy đây là một thành phần phức tạp của Kernel.
    • Used by: Nếu giá trị là 0, module btrfs không phụ thuộc vào module nào khác để hoạt động mà nó tự tải các thành phần cần thiết.
    • Các dòng liên quan: Các dòng còn lại sẽ hiển thị những module khác đang được sử dụng bởi btrfs như zstd_compress hoặc xor.

    3. Xem thông tin chi tiết bằng lệnh modinfo

    Sau khi đã xác nhận được module đã được tải thông qua lệnh lsmod, để xem thông tin chi tiết hơn về module đó, bạn hãy thực hiện lệnh:

    modinfo <Tên Module>
    Xem thông tin chi tiết bằng lệnh modinfo
    Xem thông tin chi tiết bằng lệnh modinfo

    1. Module được liệt kê nhưng thiết bị không hoạt động

    Tình huống này xảy ra khi bạn nhìn thấy tên module xuất hiện trong danh sách của lệnh lsmod, nhưng thiết bị phần cứng hoặc tính năng tương ứng lại không hoạt động như mong muốn. Nguyên nhân chủ yếu của lỗi này thường do module đã được nạp vào Kernel với các tham số cấu hình không chính xác hoặc đang xảy ra xung đột tài nguyên với một module khác trong hệ thống.

    Cách khắc phục:

    1. Bạn sử dụng lệnh modinfo <Tên_Module> để tra cứu và kiểm tra các tham số cấu hình hợp lệ tại dòng parm:.
    2. Tiếp theo bạn gỡ bỏ module đang gặp sự cố khỏi nhân bằng lệnh rmmod <Tên_Module>.
    3. Cuối cùng, bạn nạp lại module với các tham số chính xác bằng lệnh modprobe <Tên_Module> [tham_số=giá_trị].

    2. Module không xuất hiện trong danh sách

    Đây là trường hợp bạn biết chắc chắn hệ thống cần một module cụ thể nhưng module này lại không xuất hiện trong kết quả trả về của lsmod. Vấn đề này thường bắt nguồn từ việc driver chưa được biên dịch tương thích với phiên bản Kernel hiện tại, module chưa được cài đặt đúng vị trí hoặc hệ thống chưa cập nhật cơ sở dữ liệu về sự phụ thuộc giữa các module.

    Cách khắc phục:

    1. Bạn chạy lệnh depmod -a để hệ thống quét và cập nhật lại toàn bộ danh sách phụ thuộc của các module.
    2. Sau đó bạn hãy thử nạp lại module thủ công bằng lệnh modprobe <Tên_Module>.
    3. Nếu vẫn không thành công, bạn hãy kiểm tra nhật ký hệ thống bằng lệnh dmesg | tail để xem thông báo lỗi chi tiết từ Kernel.
    Cách khắc phục khi Module không xuất hiện trong danh sách
    Cách khắc phục khi Module không xuất hiện trong danh sách

    Lưu ý khi sử dụng lệnh lsmod

    Để sử dụng lệnh lsmod một cách hiệu quả và tránh những nhầm lẫn trong quá trình quản trị hệ thống, bạn cần lưu ý một số điểm quan trọng sau đây:

    • Tính chất an toàn của lệnh: Lệnh lsmod chỉ có chức năng liệt kê và hiển thị trạng thái hiện tại của các module trong bộ nhớ, lệnh này không thực hiện bất kỳ thay đổi nào đối với hệ thống, nên bạn có thể hoàn toàn yên tâm khi sử dụng để kiểm tra.
    • Phân biệt module nạp ngoài và tính năng tích hợp: Danh sách trả về chỉ bao gồm các Loadable Kernel Modules (LKM), những tính năng hoặc driver đã được biên dịch trực tiếp vào nhân hệ điều hành sẽ không xuất hiện trong kết quả của lệnh lsmod.
    • Kiểm tra sự phụ thuộc: Trước khi có ý định gỡ bỏ bất kỳ module nào, bạn phải kiểm tra kỹ cột “Used by”. Nếu giá trị tại cột này lớn hơn 0, điều đó có nghĩa là đang có các tiến trình hoặc module khác phụ thuộc nên việc gỡ bỏ có thể gây ra lỗi hệ thống nghiêm trọng.
    • Quyền hạn thực thi: Người dùng thông thường có thể thực hiện lệnh lsmod để xem danh sách module. Tuy nhiên, các thao tác quản lý liên quan như nạp module mới hoặc xóa module hiện có bắt buộc phải có quyền quản trị root hoặc sudo.
    • Thông tin mang tính thời điểm: Kết quả hiển thị từ lsmod là snapshot dữ liệu tại đúng thời điểm bạn gõ lệnh. Nếu một module được nạp vào hoặc gỡ bỏ ngay sau đó, bạn cần chạy lại lệnh để cập nhật thông tin mới nhất.
    Để có thể nạp module mới hoặc xóa module hiện có, bạn bắt buộc phải có quyền quản trị root hoặc sudo.
    Để có thể nạp module mới hoặc xóa module hiện có, bạn bắt buộc phải có quyền quản trị root hoặc sudo (Nguồn: Internet)

    Theo kinh nghiệm của mình, điểm mấu chốt là kết hợp lsmod (để xem) với rmmodmodprobe (để hành động). Đây là bộ ba gỡ lỗi phần cứng cực kỳ hiệu quả. Ví dụ, khi một thiết bị như webcam bị treo, mình thường dùng lsmod để xác định driver, sau đó dùng sudo rmmod [tên_driver] để gỡ và sudo modprobe [tên_driver] để nạp lại. Thao tác này giống như “khởi động lại” driver mà không cần reboot cả hệ thống, giúp tiết kiệm thời gian và giải quyết sự cố nhanh chóng.

    Câu hỏi thường gặp

    Lệnh lsmod lấy dữ liệu từ đâu để hiển thị?

    Lệnh lsmod thực chất không trực tiếp quét phần cứng hệ thống. Thay vào đó, lệnh này đọc và định dạng lại nội dung từ file ảo /proc/modules. Đây là file được Kernel cập nhật liên tục để phản ánh trạng thái các module đang hoạt động.

    Làm thế nào để kiểm tra kết quả thành công khi thực hiện lệnh lsmod?

    Kết quả được coi là thành công khi bạn thực hiện lệnh lsmod và thấy tên module mong muốn, ví dụ như vboxdrv cho VirtualBox, nouveau hoặc nvidia cho card đồ họa xuất hiện trong danh sách với số lần sử dụng hợp lý.

    Tại sao tôi không thấy driver của một thiết bị trong danh sách lsmod dù thiết bị vẫn hoạt động bình thường?

    Nguyên nhân phổ biến nhất là do driver đó đã được biên dịch tích hợp trực tiếp vào nhân hệ điều hành ngay từ đầu thay vì được xây dựng dưới dạng module tải ngoài trong khi lệnh lsmod chỉ có khả năng liệt kê các module tải ngoài.

    Lệnh lsmod có vai trò quan trọng trọng việc xác định và quản lý các chức năng cấp thấp của hệ điều hành Linux. Do đó, việc nắm vững cách hiển thị trạng thái của các module Kernel sẽ giúp bạn kiểm soát các trình điều khiển phần cứng và các thành phần cốt lõi của hệ thống một cách hiệu quả và an toàn. Cảm ơn bạn đã theo dõi bài viết, mời bạn tham khảo các lệnh Linux phổ biến và hữu ích bên dưới:

    5/5 - (1 bình chọn)
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    nslookup Linux là gì? Cách sử dụng lệnh nslookup để kiểm tra DNS hiệu quả
    nslookup Linux là gì? Cách sử dụng lệnh nslookup để kiểm tra DNS hiệu quả

    nslookup Linux là lệnh được sử dụng để truy vấn máy chủ DNS nhằm kiểm tra việc phân giải tên miền và địa chỉ IP. Việc sử dụng nslookup giúp xác định chính xác tên miền phân giải ra IP nào, máy chủ DNS nào đang thực hiện nhiệm vụ đó và các bản ghi…

    31/03/2026

    Hướng dẫn sử dụng lệnh dig Linux để kiểm tra và truy vấn DNS
    Hướng dẫn sử dụng lệnh dig Linux để kiểm tra và truy vấn DNS

    dig Linux là một công cụ dòng lệnh mạnh mẽ được sử dụng để truy vấn các máy chủ DNS và thu thập thông tin chi tiết về các bản ghi DNS như A, MX, NS, SOA, TXT. Khác với các công cụ đơn giản hơn như nslookup, dig cung cấp dữ liệu chuyên sâu…

    31/03/2026

    Hướng dẫn sử dụng lệnh wget trong Linux để tải tập tin từ Internet
    Hướng dẫn sử dụng lệnh wget trong Linux để tải tập tin từ Internet

    wget là một tiện ích dòng lệnh miễn phí và phổ biến trên Linux, được thiết kế chuyên biệt để tải file từ các máy chủ web. Điểm mạnh lớn nhất của wget là khả năng làm việc không tương tác, có thể hoạt động ngầm trong nền ngay cả khi người dùng đã đăng…

    31/03/2026

    Cách dùng lệnh more trong Linux để xem nội dung file theo phân trang
    Cách dùng lệnh more trong Linux để xem nội dung file theo phân trang

    Lệnh more trong Linux là một trình phân trang dùng để hiển thị nội dung file văn bản từng đoạn trên màn hình terminal, thay vì in toàn bộ nội dung một lần như cat. Trong bài viết này, mình sẽ hướng dẫn bạn chi tiết cách sử dụng lệnh more để xem nội dung…

    31/03/2026

    linux

    lenh

    text