NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
18/12/2024
Lượt xem

Cách sử dụng lệnh dmesg trong Linux để kiểm tra và điều khiển Kernel Ring Buffer

18/12/2024
16 phút đọc
Lượt xem

Đánh giá

Lệnh dmesg trong Linux là một công cụ quan trọng giúp người dùng xem các thông báo từ kernel của hệ điều hành. Những thông báo này thường liên quan đến phần cứng, driver, và các sự kiện hệ thống, giúp quản trị viên nắm bắt được tình trạng hoạt động của hệ thống. Trong bài viết này, chúng ta sẽ tìm hiểu về cách hoạt động của dmesg, các tùy chọn và những ví dụ cụ thể về cách sử dụng lệnh này.

Những điểm chính

  • Nắm rõ về Kernel Ring Buffer trong Linux: Giúp người đọc hiểu được khái niệm và vai trò của Kernel Ring Buffer.
  • Khám phá lệnh dmesg trong Linux: Cung cấp cái nhìn tổng quan về lệnh dmesg, cú pháp và các tùy chọn hữu ích.
  • Hiểu rõ cách gỡ bỏ hạn chế sử dụng lệnh dmesg cho người dùng không phải root: Hướng dẫn cách mở rộng quyền sử dụng lệnh dmesg cho người dùng không phải root.
  • Nắm được 7 ví dụ thực tế về cách sử dụng lệnh dmesg trong Linux: Cung cấp các ví dụ cụ thể về cách sử dụng lệnh dmesg.
  • Biết đến Vietnix – Đối tác tin cậy cung cấp VPS với hiệu suất vượt trội và bảo mật ổn định.

Kernel Ring Buffer trong Linux là gì?

Ring Buffer là một không gian cố định trong hệ thống dành để lưu trữ thông báo. Được gọi là “vòng” bởi vì khi không gian đầy, Ring Buffer ghi đè lên các thông báo cũ bằng những thông báo mới.

Kernel Ring Buffer trong Linux
Kernel Ring Buffer trong Linux

Kernel Ring Buffer là một dạng Ring Buffer đặc biệt, được sử dụng bởi kernel (nhân hệ điều hành) để lưu trữ các thông điệp quan trọng trong quá trình khởi động hệ thống. Những thông điệp này có thể bao gồm:

  • Thông báo từ các driver thiết bị khi được nạp vào hệ thống.
  • Thông báo về trạng thái của các phần cứng (CPU, RAM, ổ cứng,…).
  • Thông báo từ các module của kernel khi được khởi động.

Lệnh dmesg trong Linux là gì?

Lệnh dmesg trong Linux cho phép người dùng kiểm tra và điều khiển Kernel Ring Buffer.

iconLưu ý

Trên một số máy, người dùng không phải root có thể không có quyền sử dụng lệnh này. Trong trường hợp đó, bạn có thể gỡ bỏ giới hạn này. Quá trình cấp quyền cho dmesg sẽ được Vietnix đề cập trong nội dung ở phần tiếp theo.

Lệnh dmesg trong Linux cho phép người dùng kiểm tra và điều khiển Kernel Ring Buffer
Lệnh dmesg trong Linux cho phép người dùng kiểm tra và điều khiển Kernel Ring Buffer

Trong quản trị hệ thống Linux, lệnh dmesg là công cụ rất hữu ích giúp bạn theo dõi các thông báo từ kernel, cung cấp thông tin quan trọng về tình trạng phần cứng và hệ thống. Việc nắm vững lệnh này giúp bạn quản lý hệ thống hiệu quả, phát hiện sự cố và tối ưu hóa quá trình giám sát. Để làm chủ kiến thức này, việc thực hành trực tiếp trên một VPS Linux sẽ giúp bạn có trải nghiệm thực tế và củng cố kỹ năng quản trị. Nếu bạn cần một nền tảng mạnh mẽ cho các ứng dụng yêu cầu hiệu suất cao, VPS NVMe của Vietnix là lựa chọn hoàn hảo. Với ổ cứng NVMe tốc độ đọc gấp 10 lần, CPU cao cấp nhất thị trường và đa dạng hệ điều hành, VPS Vietnix sẽ giúp bạn vận hành hệ thống ổn định, an toàn mà không phải lo lắng về hiệu suất.

Cú pháp

Cú pháp của lệnh dmesg khá đơn giản, bao gồm chính lệnh và các tùy chọn theo sau:

dmesg [OPTION]...

iconLưu ý

[OPTION]… trong cú pháp trên cho biết bạn có thể sử dụng nhiều tùy chọn cùng lúc.

Các tùy chọn hữu ích

Lệnh dmesg trong Linux cung cấp nhiều tùy chọn để tùy chỉnh kết quả hiển thị. Dưới đây là bảng tóm tắt các tùy chọn hữu ích nhất:

Tùy chọnChức năng
-cXóa nội dung Kernel Ring Buffer.
-CHiển thị nội dung Kernel Ring Buffer rồi xóa.
-DTắt hiển thị thông báo trên terminal.
-EBật hiển thị thông báo trên terminal.
-fChỉ hiển thị thông báo từ các facility chỉ định (ví dụ: kern, daemon).
-HHiển thị thông báo ở định dạng dễ đọc.
-kChỉ hiển thị thông báo từ kernel.
-lChỉ hiển thị thông báo từ các mức log chỉ định (ví dụ: err, info).
-L/--colorTô màu output.
-THiển thị thông báo với dấu thời gian dễ đọc.
-w/--followChờ và hiển thị các thông báo mới.
Tùy chọn lệnh dmesg

iconLưu ý

  • Các tùy chọn trong CLI (Giao diện dòng lệnh) của Linux phân biệt chữ hoa chữ thường. Nên bạn hãy nhập chính xác các tùy chọn.
  • Để xem danh sách đầy đủ các tùy chọn, bạn có thể sử dụng lệnh man dmesg.

Gỡ bỏ hạn chế sử dụng lệnh dmesg cho người dùng không phải root

Để kiểm tra xem bạn có được phép sử dụng lệnh dmesg mà không cần quyền root hay không, bạn chỉ cần gõ lệnh sau:

dmesg

Nếu bị hạn chế, bạn sẽ thấy thông báo lỗi tương tự như hình bên dưới:

Thông báo lỗi
Thông báo lỗi

Trong trường hợp này, bạn có thể dễ dàng gỡ bỏ giới hạn này bằng cách thực hiện các bước sau:

Bước 1: Mở ứng dụng Terminal trên Ubuntu.

Bước 2: Nhập lệnh sau vào terminal:

sudo sysctl -w kernel.dmesg_restrict=0

Bước 3: Nhập mật khẩu của bạn khi được yêu cầu.

Bước 4: Nhấn Enter.

Kết quả: Sau khi hoàn thành 4 bước trên, bạn sẽ có thể chạy lệnh dmesg trên máy tính của mình mà không cần quyền root.

Gỡ bỏ hạn chế
Gỡ bỏ hạn chế

Lệnh dmesg là một công cụ hữu ích để giám sát thông báo từ kernel và phát hiện sự cố trong hệ thống Linux. Dưới đây là một số ví dụ thực tế về cách sử dụng lệnh dmesg:

Ví dụ 1: Hiển thị tất cả thông báo từ Kernel Ring Buffer bằng lệnh dmesg

Để hiển thị tất cả thông báo từ Kernel Ring Buffer trên hệ thống Linux, bạn thực hiện theo các bước sau đây:

Bước 1: Mở ứng dụng Terminal trên Ubuntu.

Bước 2: Nhập lệnh sau và nhấn Enter:

dmesg

Kết quả: Bạn sẽ thấy tất cả các tin nhắn thông báo Kernel Ring Buffer của hệ thống được hiển thị trên màn hình.

Hiển thị tất cả thông báo từ Kernel Ring Buffer
Hiển thị tất cả thông báo từ Kernel Ring Buffer

Ví dụ 2: Bật/Tắt màu sắc cho output của lệnh dmesg

Bạn có thể tùy chọn hiển thị output của lệnh dmesg với màu sắc hoặc không có màu sắc. Bạn sử dụng tùy chọn --color để bật hoặc tắt màu hoặc dùng -L để luôn hiển thị output có màu. Cụ thể như sau:

Trường hợp A: Tắt màu sắc

Để tắt màu sắc, bạn hãy làm theo các bước sau:

Bước 1: Mở ứng dụng Terminal trên Ubuntu.

Bước 2: Nhập lệnh sau và nhấn Enter:

dmesg --color=never

Kết quả: Trong hình ảnh minh họa, bạn có thể thấy rằng output của lệnh dmesg không còn màu sắc nữa.

Tắt màu sắc output
Tắt màu sắc output

Trường hợp B: Bật màu sắc

Để hiển thị output có màu, bạn hãy làm theo các bước sau:

Bước 1: Mở ứng dụng Terminal trên Ubuntu.

Bước 2: Nhập lệnh sau và nhấn Enter:

dmesg -L

Kết quả: Bây giờ, các thông báo dmesg sẽ được hiển thị với màu sắc, giúp bạn dễ dàng phân biệt các loại thông báo khác nhau.

Bật màu sắc output
Bật màu sắc output

Ví dụ 3: Hiển thị thông báo Kernel Ring Buffer ở định dạng dễ đọc

Bạn có thể hiển thị thông báo từ Kernel Ring Buffer ở định dạng dễ đọc hơn cho người dùng bằng cách sử dụng tùy chọn -H với lệnh dmesg. Tùy chọn này sẽ hiển thị kết quả trong trình xem less với đầy đủ các tính năng nâng cao.

Bước 1: Mở ứng dụng Terminal trên Ubuntu.

Bước 2: Nhập lệnh sau và nhấn Enter:

dmesg -H

Kết quả: Bạn sẽ thấy các thông báo Kernel Ring Buffer được hiển thị một cách rõ ràng và dễ đọc hơn cho người dùng.

Hiển thị thông báo Kernel Ring Buffer ở định dạng dễ đọc
Hiển thị thông báo Kernel Ring Buffer ở định dạng dễ đọc

Ví dụ 4: Hiển thị dấu thời gian dễ đọc bằng lệnh dmesg

Bạn có thể hiển thị dấu thời gian (timestamp) ở định dạng dễ đọc bằng cách sử dụng tùy chọn -T với lệnh dmesg. Các bước thực hiện như sau:

Bước 1: Mở ứng dụng Terminal trên Ubuntu.

Bước 2: Nhập lệnh sau và nhấn Enter:

dmesg -T

Kết quả: Bạn sẽ thấy các thông báo từ Kernel Ring Buffer được hiển thị cùng với thời gian theo định dạng dễ hiểu

Hiển thị dấu thời gian dễ đọc bằng lệnh dmesg
Hiển thị dấu thời gian dễ đọc bằng lệnh dmesg

Ví dụ 5: Lọc thông báo Kernel Ring Buffer bằng lệnh dmesg

Bạn có thể lọc thông báo từ Kernel Ring Buffer bằng lệnh dmesg dựa trên loại thông báo hoặc mức độ nghiêm trọng bằng cách sử dụng tùy chọn -f-l.

Trường hợp A: Lọc output theo loại thông báo

Để lọc thông báo theo loại, bạn hãy làm theo các bước sau:

Bước 1: Mở ứng dụng Terminal trên Ubuntu.

Bước 2: Gõ lệnh sau vào terminal (ví dụ này lọc thông báo thuộc loại userdaemon) và nhấn Enter:

dmesg -f user,daemon

Kết quả: Sẽ chỉ hiển thị các thông điệp liên quan đến user (người dùng) và daemon (tiến trình nền). Bạn có thể thấy rõ điều này trong hình minh họa.

Lọc output theo loại thông báo
Lọc output theo loại thông báo

iconLưu ý

Hệ thống phân loại thông báo thành nhiều loại khác nhau. Dưới đây là danh sách các loại thông báo phổ biến:

  • kern: Thông báo từ kernel.
  • user: Thông báo từ người dùng.
  • mail: Thông báo từ hệ thống mail.
  • daemon: Thông báo từ các daemon hệ thống.
  • auth: Thông báo liên quan đến xác thực.
  • syslog: Thông báo từ syslogd.
  • lpr: Thông báo từ hệ thống máy in.
  • news: Thông báo từ hệ thống tin tức mạng.

Trường hợp B: Lọc output theo mức độ log bằng lệnh dmesg

Để lọc thông báo theo mức độ log, bạn hãy làm theo các bước sau:

Bước 1: Mở ứng dụng Terminal trên Ubuntu.

Bước 2: Gõ lệnh sau vào terminal (ví dụ này lọc thông báo có mức độ errnotice) và nhấn Enter:

dmesg -l err,notice

Kết quả: Lệnh này sẽ chỉ hiển thị các thông báo có mức độ quan trọng là err (lỗi) và notice (thông báo đáng chú ý). Bạn có thể thấy rõ điều này trong hình minh họa

Lọc output theo mức độ log
Lọc output theo mức độ log

iconLưu ý

Hệ thống đánh dấu mỗi thông báo bằng một mức độ log. Dưới đây là danh sách các mức độ log mà bạn cần biết:

  • emerg: Thông báo khẩn cấp.
  • alert: Cảnh báo yêu cầu hành động ngay lập tức.
  • crit: Trạng thái nghiêm trọng.
  • err: Thông báo lỗi.
  • warn: Cảnh báo.
  • notice: Thông báo bình thường nhưng đáng chú ý.
  • info: Thông tin.
  • debug: Thông báo gỡ lỗi.

    Ví dụ 6: Theo dõi thông báo mới bằng lệnh dmesg

    Bạn có thể theo dõi trực tiếp các thông báo mới được thêm vào Kernel Ring Buffer bằng cách sử dụng tùy chọn -w hoặc --follow với lệnh dmesg. Các bước thực hiện như sau:

    Bước 1: Mở ứng dụng Terminal trên Ubuntu.

    Bước 2: Bạn nhập 1 trong 2 lệnh sau và nhấn Enter:

    dmesg -w

    Hoặc

    dmesg --follow

    Kết quả:

    Hình ảnh 1: Terminal hiển thị các thông báo hiện có trong Kernel Ring Buffer.

    Hiển thị thông báo hiện có
    Hiển thị thông báo hiện có

    Hình ảnh 2: Terminal sẽ tiếp tục chạy và hiển thị các thông báo mới được thêm vào Kernel Ring Buffer.

    Chờ hiển thị thông báo mới
    Chờ hiển thị thông báo mới

    Ví dụ 7: Xóa thông báo trong Kernel Ring Buffer bằng lệnh dmesg

    Bạn có thể xóa toàn bộ thông báo trong Kernel Ring Buffer bằng cách sử dụng tùy chọn -c hoặc -C với lệnh dmesg. Tuy nhiên, bạn cần quyền root để thực hiện việc này. Bạn có thể sử dụng lệnh sudo để chạy với quyền root.

    Các bước thực hiện như sau:

    Bước 1: Mở ứng dụng Terminal trên Ubuntu.

    Bước 2: Bạn nhập 1 trong 2 lệnh sau và nhấn Enter:

    dmesg -c

    Hoặc

    dmesg -C

    Kết quả: Sau khi thực hiện lệnh, Kernel Ring Buffer sẽ được xóa sạch. Bạn có thể kiểm tra bằng cách chạy lại lệnh dmesg và sẽ thấy không còn thông báo nào được hiển thị nữa.

    Không hiển thị thông báo
    Không hiển thị thông báo

    Vietnix – Đối tác tin cậy cung cấp VPS với hiệu suất vượt trội và bảo mật ổn định

    Với hơn 80.000 khách hàng trên toàn quốc đã và đang sử dụng dịch vụ, Vietnix tự hào là đơn vị cung cấp giải pháp VPS uy tín, luôn đồng hành cùng doanh nghiệp trong hành trình phát triển và mở rộng quy mô. Vietnix vinh dự nhận giải thưởng Top 10 Sản phẩm, Dịch vụ Xuất sắc 2022 – Giải thưởng Thương hiệu Việt Nam xuất sắc 2022, khẳng định sự cam kết mạnh mẽ về chất lượng và sự hài lòng của khách hàng.

    Vietnix cung cấp VPS với CPU riêng biệt, không giới hạn tốc độ, giúp bạn tối ưu hóa hiệu suất tối đa cho hệ thống. Với đội ngũ hỗ trợ chuyên nghiệp 24/7, Vietnix đảm bảo mang đến sự ổn định và bảo mật vượt trội, là lựa chọn lý tưởng giúp bạn nâng cao hiệu quả công việc và trải nghiệm người dùng.

    Thông tin liên hệ:

    • Hotline: 18001093
    • Email: sales@vietnix.com.vn 
    • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
    • Website: https://vietnix.vn/

    Qua bài viết này, bạn đã được tìm hiểu về lệnh dmesg trong Linux, cách sử dụng các tùy chọn và ứng dụng trong việc theo dõi và quản lý các thông báo hệ thống. Hy vọng những thông tin này sẽ giúp bạn sử dụng lệnh dmesg một cách hiệu quả để khắc phục sự cố và tối ưu hóa hệ thống của mình.

    THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

    Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

    Chọn chủ đề :

    Hưng Nguyễn

    Co-Founder
    tại

    Kết nối với mình qua

    Kết nối với mình qua

    Theo dõi
    Thông báo của
    guest
    0 Comments
    Phản hồi nội tuyến
    Xem tất cả bình luận

    Tăng tốc độ website - Nâng tầm giá trị thương hiệu

    Banner group
    Tăng tốc tải trang

    95 điểm

    Nâng cao trải nghiệm người dùng

    Tăng 8% tỷ lệ chuyển đổi

    Thúc đẩy SEO, Google Ads hiệu quả

    Tăng tốc ngay

    SẢN PHẨM NỔI BẬT

    MAXSPEED HOSTING

    TĂNG TỐC WEBSITE TOÀN DIỆN

    CÔNG NGHỆ ĐỘC QUYỀN

    PHẦN CỨNG MẠNH MẼ

    HỖ TRỢ 24/7

    ĐĂNG KÝ NGAY
    Pattern

    7 NGÀY DÙNG THỬ HOSTING

    NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

    Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

    Icon
    ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
    Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
    ĐÓNG

    ĐĂNG KÝ DÙNG THỬ HOSTING

    Asset

    7 NGÀY MIỄN PHÍ

    Asset 1

    ĐĂNG KÝ DÙNG THỬ HOSTING

    Asset

    7 NGÀY MIỄN PHÍ

    Asset 1
    Icon
    XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
    Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
    ĐÓNG