อะไรคือความแตกต่างของเอาต์พุต dmesg และ / var / log / messages?


55

AFAIK dmesgแสดงข้อมูลเกี่ยวกับเคอร์เนลและโมดูลเคอร์เนลและ/var/log/messagesยังแสดงข้อมูลที่ผลิตโดยเคอร์เนลและโมดูล

ดังนั้นความแตกต่างคืออะไร? ไม่/var/log/messages การส่งออกของdmesg?

ข้อมูลเพิ่มเติมที่อาจเป็นประโยชน์:
- มีบัฟเฟอร์วงแหวนเคอร์เนลซึ่งฉันคิดว่าเป็นที่เดียวที่จะเก็บข้อมูลล็อกเคอร์เนล
- บทความ " การบันทึกเคอร์เนล: APIs และการนำไปใช้งาน " บน IBM DeveloperWorks ที่อธิบาย APIs และรูปภาพมุมมองนก

คำตอบ:


51

dmesgพิมพ์เนื้อหาของบัฟเฟอร์วงแหวน ข้อมูลนี้จะถูกส่งตามเวลาจริงไปยังsyslogdหรือklogdเมื่อพวกเขากำลังทำงานและสิ้นสุดลงใน/var/log/messages; เมื่อdmesgมีประโยชน์มากที่สุดคือในการจับข้อความเวลาบูตจากก่อนsyslogdและ / หรือklogdเริ่มต้นเพื่อให้พวกเขาจะถูกบันทึกอย่างถูกต้อง


4
ดังนั้น/var/log/messagesและdmesgจะแสดงบันทึกเดียวกัน (ในรูปแบบที่แตกต่าง) หลังจากsyslogdและ / หรือklogdเริ่ม?
xanpeng

10
หลังจากที่klogdทำงานอยู่dmesgจะแสดงเฉพาะข้อความเคอร์เนลล่าสุด (เนื่องจากบัฟเฟอร์วงแหวนมีขนาดคงที่และสามารถเก็บได้มากเท่านั้น) โดยไม่มีการประทับเวลาหรือข้อมูลอื่น ๆ ในขณะที่/var/log/messagesจะเก็บบันทึกตามวิธีการlogrotateกำหนดค่าและรวมการประทับเวลา จะไม่ถูกต้องเล็กน้อยสำหรับข้อความเริ่มต้นระบบเนื่องจากdmesgไม่มีข้อความดังนั้นเวลาที่klogdเริ่มต้นใช้สำหรับข้อความทั้งหมดที่อ่านจากเคอร์เนลบัฟเฟอร์)
geekosaur

6
@xanpeng dmesgมีเฉพาะข้อความจากเคอร์เนล/var/log/messagesโดยปกติจะมีบันทึกจากแอปพลิเคชันเช่นกัน
Gilles 'หยุดความชั่วร้าย'

14

ขึ้นอยู่กับระบบปฏิบัติการ ยกตัวอย่างเช่นบน Solaris, dmesgเป็นเพียงเชลล์สคริปต์การแสดงสุดท้าย 200 สายของ/var/adm/messages.*ไฟล์


1
มีสีสันหรือไม่
สวัสดีแองเจิล

@ cat ... | tail -200Hi-เทวดาไม่มีการโพสต์ของล็อกไฟล์จึงไม่มีสีเพียง
jlliagre

6
  • เราสามารถพูดได้ว่าdmesgเป็นส่วนย่อยของ/var/log/messagesและถูกเก็บรักษาไว้ในบัฟเฟอร์แหวน
  • /var/log/messagesdmesgรวมถึงทุกข้อความของระบบรวมทั้งจากการเริ่มต้นของระบบพร้อมกับข้อความใน ในบันทึกสั้นจากจะทิ้งใน dmesg/var/log/messages
  • /var/log/messagesเก็บรักษาบันทึกกิจกรรมของระบบโดยทั่วไปและdmesgเก็บรักษาเฉพาะบันทึกเคอร์เนล

2

dmesg : dmesg เป็นข้อความ (จอแสดงผลหรือไดรเวอร์) มันถูกใช้เพื่อตรวจสอบหรือควบคุมบัฟเฟอร์วงแหวนเคอร์เนล

ข้อความ : มันมีข้อความของระบบทั่วโลกรวมถึงข้อความที่ถูกบันทึกในระหว่างการเริ่มต้นระบบ มีหลายสิ่งที่ลงชื่อเข้าใช้/var/log/messagesรวมถึงเมล, cron, daemon, kern, auth เป็นต้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.