# journalctl และ systemd journal

> วิธีอ่านบันทึกด้วย journalctl ตรวจสอบพื้นที่ที่ journal ใช้งาน และลดขนาดอย่างปลอดภัยด้วยตัวเลือก --vacuum

journalctl คือคำสั่งสำหรับอ่าน systemd journal ซึ่งเป็นที่เก็บข้อมูลบันทึกแบบไบนารีที่ใช้ใน Linux ส่วนใหญ่ในปัจจุบัน สามารถกรองข้อความตามบริการ การบูต เวลา และระดับความสำคัญ อีกทั้งยังสามารถรายงานและจำกัดการใช้งานดิสก์ของ journal ซึ่งมักจะขยายขนาดจนถึงหลายกิกะไบต์ใน /var/log/journal

## การอ่านบันทึก

'journalctl -u nginx.service' ใช้แสดงข้อความของหน่วยบริการหนึ่งๆ '-b' จำกัดผลลัพธ์เฉพาะการบูตปัจจุบัน '-b -1' สำหรับการบูตครั้งก่อนหน้า '-p err' แสดงเฉพาะข้อผิดพลาดและระดับที่แย่กว่า '--since "1 hour ago"' จำกัดตามเวลา และ '-f' ใช้ติดตามข้อความใหม่แบบเรียลไทม์

## การใช้งานดิสก์

'journalctl --disk-usage' แสดงขนาดรวมของไฟล์ journal ทั้งแบบใช้งานอยู่และที่เก็บถาวร

'--vacuum-size=', '--vacuum-time=' และ '--vacuum-files=' จะลบไฟล์ journal ที่เก็บถาวรออกจนกว่าจะถึงขีดจำกัดที่กำหนด โดยจะไม่ยุ่งกับไฟล์ที่กำลังใช้งานอยู่

## การจำกัดถาวร

การจำกัดสามารถตั้งค่าได้ใน /etc/systemd/journald.conf เช่น SystemMaxUse=500M จากนั้นนำไปใช้ด้วย 'systemctl restart systemd-journald' หากไม่มีการตั้งค่า journald จะเก็บ journal ไว้ภายใน 10% ของขนาดระบบไฟล์โดยค่าเริ่มต้น และจำกัดไว้สูงสุดที่ 4 GB

## วิธีลดขนาด journal

1. ตรวจสอบขนาด: journalctl --disk-usage
2. หมุนไฟล์ที่ใช้งานอยู่เพื่อให้สามารถล้างข้อมูลได้: sudo journalctl --rotate
3. เก็บไว้เพียงสองสัปดาห์: sudo journalctl --vacuum-time=2weeks
4. หรือเก็บไว้สูงสุด 500 MB: sudo journalctl --vacuum-size=500M
5. หากต้องการให้เป็นค่าถาวร ให้ตั้งค่า SystemMaxUse=500M ใน /etc/systemd/journald.conf แล้วรัน: sudo systemctl restart systemd-journald

## ข้อควรระวัง

- บันทึกที่ถูกล้างจะหายไป ควรเก็บประวัติไว้ให้เพียงพอสำหรับการตรวจสอบปัญหา
- ห้ามลบไฟล์ใน /var/log/journal ด้วยตนเองในขณะที่ journald กำลังทำงาน

## แหล่งอ้างอิง

- [journalctl(1)](https://man7.org/linux/man-pages/man1/journalctl.1.html)
- [journald.conf(5)](https://man7.org/linux/man-pages/man5/journald.conf.5.html)

อัปเดตล่าสุด: 2026-10-08
URL: https://raincleaner.eu/th/wiki/linux/journalctl
