Sự khác biệt của đầu ra dmesg và / var / log / message là gì?


55

AFAIK dmesghiển thị thông tin về các mô-đun kernel và kernel, đồng /var/log/messagesthời hiển thị thông tin được tạo bởi kernel và các mô-đun.

Vậy sự khác biệt là gì? Có /var/log/messages đầu ra của dmesg?

Thông tin thêm có thể hữu ích:
- Có bộ đệm vòng kernel , mà tôi nghĩ là nơi duy nhất và duy nhất để lưu trữ dữ liệu nhật ký kernel.
- Bài viết " Ghi nhật ký hạt nhân: API và triển khai " trên IBM DeveloperWorks đã mô tả các API và hình ảnh xem chim.

Câu trả lời:


51

dmesgin nội dung của bộ đệm vòng. Thông tin này cũng được gửi trong thời gian thực tới syslogdhoặc klogdkhi chúng đang chạy và kết thúc /var/log/messages; khi nào dmesghữu ích nhất là trong việc chụp các tin nhắn thời gian khởi động từ trước syslogdvà / hoặc klogdbắt đầu, để chúng sẽ được ghi lại đúng cách.


4
Vì vậy, /var/log/messagesdmesgsẽ hiển thị cùng một bản ghi (ở định dạng khác nhau) sau syslogdvà / hoặc klogdbắt đầu?
xanpeng

10
Sau khi klogdchạy, dmesgsẽ chỉ hiển thị các thông báo kernel gần đây nhất (vì bộ đệm vòng có kích thước cố định và do đó chỉ có thể chứa rất nhiều), không có dấu thời gian hoặc thông tin khác, trong khi /var/log/messagessẽ giữ lại các bản ghi theo cách logrotateđược định cấu hình và bao gồm cả dấu thời gian (mà sẽ hơi không chính xác cho các thông báo khởi động ban đầu vì dmesgkhông có chúng, vì vậy thời gian klogdbắt đầu được sử dụng cho tất cả các tin nhắn được đọc từ bộ đệm kernel).
geekizard

6
@xanpeng dmesgchỉ chứa các tin nhắn từ kernel, /var/log/messagesthường chứa các bản ghi từ các ứng dụng.
Gilles 'SO- ngừng trở nên xấu xa'

14

Điều đó phụ thuộc vào hệ điều hành. Ví dụ trên Solaris, dmesg chỉ đơn giản là một tập lệnh shell hiển thị 200 dòng cuối cùng của các /var/adm/messages.*tệp.


1
Nó có nhiều màu sắc không?
Hi-Angel

@ Hi-Angel Không xử lý hậu kỳ của tệp nhật ký nên không tô màu, chỉ cat ... | tail -200.
jlliagre

6
  • Chúng ta có thể nói đó dmesglà tập hợp con của /var/log/messagesvà được duy trì trong bộ đệm vòng.
  • /var/log/messagesbao gồm tất cả các thông báo hệ thống bao gồm từ khi bắt đầu hệ thống cùng với các thông báo trong dmesg. Trong một bản ghi tóm tắt từ dmesgđược đổ vào /var/log/messages.
  • /var/log/messagesduy trì nhật ký hoạt động hệ thống chung và dmesgchỉ duy trì nhật ký kernel.

2

dmesg : dmesg là một thông báo (hiển thị hoặc trình điều khiển). Nó được sử dụng để kiểm tra hoặc kiểm soát bộ đệm vòng kernel.

tin nhắn : Nó chứa các tin nhắn hệ thống toàn cầu, bao gồm các tin nhắn được ghi lại trong quá trình khởi động hệ thống. Có một số thứ được đăng nhập /var/log/messagesbao gồm mail, cron, daemon, kern, auth, v.v.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.