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 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.
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.
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]...
[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ọn | Chức năng |
---|---|
-c | Xóa nội dung Kernel Ring Buffer. |
-C | Hiển thị nội dung Kernel Ring Buffer rồi xóa. |
-D | Tắt hiển thị thông báo trên terminal. |
-E | Bật hiển thị thông báo trên terminal. |
-f | Chỉ hiển thị thông báo từ các facility chỉ định (ví dụ: kern, daemon). |
-H | Hiển thị thông báo ở định dạng dễ đọc. |
-k | Chỉ hiển thị thông báo từ kernel. |
-l | Chỉ hiển thị thông báo từ các mức log chỉ định (ví dụ: err, info). |
-L/--color | Tô màu output. |
-T | Hiển thị thông báo với dấu thời gian dễ đọc. |
-w/--follow | Chờ và hiển thị các thông báo mới. |
- 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:
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.
7 ví dụ thực tế về cách sử dụng lệnh dmesg trong Linux
- Ví dụ 1: Hiển thị tất cả thông báo từ Kernel Ring Buffer bằng lệnh dmesg
- Ví dụ 2: Bật/Tắt màu sắc cho output của lệnh dmesg
- Ví dụ 3: 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
- Ví dụ 5: Lọc thông báo Kernel Ring Buffer bằng lệnh dmesg
- Ví dụ 6: Theo dõi thông báo mới bằng lệnh dmesg
- Ví dụ 7: Xóa thông báo trong Kernel Ring Buffer bằng lệnh dmesg
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.
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.
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.
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.
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
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
và -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 user và daemon) 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.
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 độ err và notice) 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
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.
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.
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.
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.