Giới thiệu
Trong lab này, bạn sẽ tìm hiểu về lệnh dmesg
của Linux và cách sử dụng nó để khám phá bộ đệm vòng của kernel. Lệnh dmesg
là một công cụ mạnh mẽ để theo dõi và quản lý hệ thống, vì nó cung cấp quyền truy cập vào các thông báo cấp kernel có giá trị, có thể được sử dụng để khắc phục sự cố và theo dõi tình trạng hệ thống.
Bạn sẽ bắt đầu bằng cách hiểu mục đích và cách sử dụng của lệnh dmesg
, cho phép bạn xem nội dung của bộ đệm vòng của kernel. Bộ đệm vòng này lưu trữ các thông báo được tạo bởi Linux kernel trong quá trình khởi động và chạy hệ thống, bao gồm thông tin về khởi tạo phần cứng, tải trình điều khiển và các sự kiện hệ thống. Sau đó, bạn sẽ khám phá các tùy chọn khác nhau để lọc và phân tích đầu ra dmesg
, cho phép bạn tập trung vào các loại thông báo hoặc mức nhật ký cụ thể.
Tìm hiểu Mục đích và Cách sử dụng của Lệnh dmesg
Trong bước này, bạn sẽ tìm hiểu về mục đích và cách sử dụng của lệnh dmesg
trong Linux. Lệnh dmesg
được sử dụng để xem bộ đệm vòng của kernel, chứa các thông báo được tạo bởi Linux kernel trong quá trình khởi động và chạy hệ thống.
Bộ đệm vòng của kernel là một bộ đệm vòng lưu trữ các thông báo cấp kernel, bao gồm thông tin về khởi tạo phần cứng, tải trình điều khiển và các sự kiện hệ thống. Lệnh dmesg
cho phép bạn truy cập và phân tích các thông báo này, có thể hữu ích cho việc khắc phục sự cố hệ thống và theo dõi tình trạng hệ thống.
Để xem nội dung của bộ đệm vòng của kernel, hãy chạy lệnh sau:
sudo dmesg
Ví dụ về đầu ra:
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 5.15.0-58-generic (buildd@lgw01-amd64-054) (gcc-11) #64~20.04.1-Ubuntu SMP Thu Jan 5 12:11:15 UTC 2023 (Ubuntu 5.15.0-58.64~20.04.1-generic 5.15.52)
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.15.0-58-generic root=UUID=0b1d7f41-a4a6-4c7e-9e2f-5d8d6d7d3b2e ro quiet splash
[ 0.000000] KERNEL supported cpus:
[ 0.000000] Intel GenuineIntel
[ 0.000000] AMD AuthenticAMD
[ 0.000000] Hygon HygonGenuine
[ 0.000000] Centaur CentaurHauls
[ 0.000000] zhaoxin Shanghai
Đầu ra hiển thị các thông báo cấp kernel khác nhau, bao gồm thông tin về phiên bản kernel, các tham số dòng lệnh và kiến trúc CPU được hỗ trợ.
Bạn có thể sử dụng các tùy chọn khác nhau với lệnh dmesg
để lọc và định dạng đầu ra, chẳng hạn như:
dmesg -T
: Hiển thị dấu thời gian ở định dạng dễ đọc.dmesg -l <level>
: Lọc đầu ra theo mức nhật ký (ví dụ:dmesg -l err
để chỉ hiển thị các thông báo lỗi).dmesg -n <level>
: Đặt mức nhật ký của console, xác định mức tối thiểu của các thông báo sẽ được hiển thị trên console.dmesg -w
: Theo dõi bộ đệm vòng của kernel trong thời gian thực, tương tự nhưtail -f
.
Hiểu mục đích và cách sử dụng của lệnh dmesg
là điều cần thiết để theo dõi và khắc phục sự cố hệ thống trong Linux.
Khám phá Bộ đệm vòng của Kernel với dmesg
Trong bước này, bạn sẽ tìm hiểu cách khám phá bộ đệm vòng của kernel bằng lệnh dmesg
và các tùy chọn khác nhau của nó.
Đầu tiên, hãy xem toàn bộ nội dung của bộ đệm vòng của kernel:
sudo dmesg
Thao tác này sẽ hiển thị tất cả các thông báo được lưu trữ trong bộ đệm vòng của kernel, bao gồm các thông báo khi khởi động và khi chạy.
Tiếp theo, hãy lọc đầu ra để chỉ hiển thị các thông báo gần đây nhất:
sudo dmesg -T | tail
Tùy chọn -T
hiển thị dấu thời gian ở định dạng dễ đọc và tail
hiển thị 10 dòng cuối cùng của đầu ra.
Bạn cũng có thể lọc đầu ra theo mức nhật ký. Ví dụ: để chỉ hiển thị các thông báo lỗi:
sudo dmesg -l err
Tùy chọn -l
cho phép bạn lọc đầu ra theo mức nhật ký, trong đó err
đại diện cho các thông báo lỗi.
Để liên tục theo dõi bộ đệm vòng của kernel trong thời gian thực, hãy sử dụng tùy chọn -w
:
sudo dmesg -w
Thao tác này sẽ giữ cho lệnh dmesg
chạy và hiển thị các thông báo mới khi chúng được thêm vào bộ đệm vòng của kernel.
Ví dụ về đầu ra:
[ +0.000000] Linux version 5.15.0-58-generic (buildd@lgw01-amd64-054) (gcc-11) #64~20.04.1-Ubuntu SMP Thu Jan 5 12:11:15 UTC 2023 (Ubuntu 5.15.0-58.64~20.04.1-generic 5.15.52)
[ +0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.15.0-58-generic root=UUID=0b1d7f41-a4a6-4c7e-9e2f-5d8d6d7d3b2e ro quiet splash
[ +0.000000] KERNEL supported cpus:
[ +0.000000] Intel GenuineIntel
[ +0.000000] AMD AuthenticAMD
[ +0.000000] Hygon HygonGenuine
[ +0.000000] Centaur CentaurHauls
[ +0.000000] zhaoxin Shanghai
Bằng cách khám phá các tùy chọn khác nhau của lệnh dmesg
, bạn có thể phân tích hiệu quả bộ đệm vòng của kernel và thu thập thông tin có giá trị để theo dõi và khắc phục sự cố hệ thống.
Lọc và Phân tích Đầu ra dmesg
Trong bước cuối cùng này, bạn sẽ tìm hiểu cách lọc và phân tích đầu ra của lệnh dmesg
để trích xuất thông tin hữu ích cho việc theo dõi và khắc phục sự cố hệ thống.
Đầu tiên, hãy lọc đầu ra dmesg
để chỉ hiển thị các thông báo gần đây nhất:
sudo dmesg -T | tail
Thao tác này sẽ hiển thị 10 thông báo cuối cùng từ bộ đệm vòng của kernel, với dấu thời gian dễ đọc.
Tiếp theo, hãy tìm kiếm các từ khóa cụ thể trong đầu ra dmesg
. Ví dụ: để tìm bất kỳ thông báo nào liên quan đến giao diện mạng:
sudo dmesg | grep -i network
Tùy chọn -i
làm cho tìm kiếm không phân biệt chữ hoa chữ thường, vì vậy nó sẽ khớp với cả "network" và "Network".
Bạn cũng có thể lọc đầu ra theo mức và mức độ nghiêm trọng của nhật ký. Ví dụ: để chỉ hiển thị các thông báo cảnh báo và lỗi:
sudo dmesg -l warn,err
Thao tác này sẽ chỉ hiển thị các thông báo cảnh báo và lỗi từ bộ đệm vòng của kernel.
Để có được bản tóm tắt về quá trình khởi động kernel, bạn có thể sử dụng lệnh sau:
sudo dmesg | grep -E 'Linux version|Command line'
Thao tác này sẽ hiển thị thông tin phiên bản kernel và các tham số dòng lệnh được sử dụng để khởi động hệ thống.
Cuối cùng, hãy lưu đầu ra dmesg
vào một tệp để phân tích thêm:
sudo dmesg > dmesg_output.txt
Sau đó, bạn có thể xem lại nội dung của tệp dmesg_output.txt
bằng trình soạn thảo văn bản hoặc các công cụ khác.
Bằng cách nắm vững các kỹ thuật lọc và phân tích này, bạn có thể sử dụng hiệu quả lệnh dmesg
để theo dõi hệ thống Linux của mình và khắc phục các sự cố khác nhau.
Tóm tắt
Trong lab này, bạn đã tìm hiểu về mục đích và cách sử dụng của lệnh dmesg
trong Linux. Lệnh dmesg
được sử dụng để xem bộ đệm vòng của kernel, chứa các thông báo được tạo bởi Linux kernel trong quá trình khởi động và chạy hệ thống. Bạn đã khám phá cách sử dụng lệnh dmesg
để truy cập và phân tích các thông báo cấp kernel này, có thể hữu ích cho việc khắc phục sự cố hệ thống và theo dõi tình trạng hệ thống. Bạn cũng đã tìm hiểu về các tùy chọn khác nhau để lọc và định dạng đầu ra dmesg
, chẳng hạn như hiển thị dấu thời gian, lọc theo mức nhật ký và đặt mức nhật ký của console.