นักพัฒนาโครงการ systemd ได้เริ่มศึกษาและแก้ไขปัญหาทางสถาปัตยกรรมที่มีมานานในส่วนประกอบ "systemd-journald" ซึ่งทำให้ปริมาณข้อมูลที่เขียนลงดิสก์ (write amplification) สูงกว่าปริมาณบันทึกจริงอย่างมาก
เรื่องราวนี้เริ่มต้นในเดือนมีนาคม 2020 เมื่อมีการแจ้งรายงานในระบบติดตามบั๊กที่แสดงให้เห็นว่า การสร้างไฟล์บันทึกข้อความขนาดประมาณ 500 KB ส่งผลให้เกิดการเขียนข้อมูลทางกายภาพบน SSD มากกว่า 700 MB นักพัฒนา systemd ปฏิเสธปัญหาดังกล่าวอย่างสิ้นเชิง โดยตอบกลับว่า "คุณไม่เข้าใจวิธีการทำงานของระบบไฟล์" ปฏิเสธที่จะทำการวิเคราะห์ประสิทธิภาพ และปิดรายงานด้วยคำตัดสินว่า "ไม่สามารถดำเนินการได้" ความคิดเห็นของนักพัฒนาได้รับคะแนนโหวตไม่เห็นด้วยหลายร้อยคะแนนจากผู้ใช้ แต่จุดยืนของโครงการยังคงไม่เปลี่ยนแปลง
ในช่วงต้นปี 2026 มีการส่งรายงานปัญหาฉบับที่สอง ซึ่งนักพัฒนาอิสระ ValdikSS ได้ทำการวิเคราะห์ประสิทธิภาพอย่างละเอียดโดยใช้ cgroup และอุปกรณ์ loop ที่แยกออกมา ซึ่งแสดงให้เห็นอย่างชัดเจนถึงกลไกที่ทำให้เกิดปัญหา: เนื่องจากการใช้ไฟล์ที่แมปหน่วยความจำ (mmaps) และตารางแฮชไบนารี การเขียนข้อความขนาด 750 ไบต์เพียงข้อความเดียวก็ส่งผลให้เกิดการเปลี่ยนแปลงลายนิ้วมือของหน่วยความจำ ทำให้หน้าหน่วยความจำขนาด 4 กิโลไบต์ทั้งหมดถูกเขียนลงดิสก์ และสร้าง I/O ขนาด 50 ถึง 70 KB ที่ระดับอุปกรณ์บล็อก
หลังจากรายงานข่าวหน้าแรกของ Hacker News เมื่อวานนี้ และการเผยแพร่ผลการทดสอบจำลองที่ไม่อาจปฏิเสธได้ ผู้ดูแลโครงการได้เปลี่ยนท่าทีและเริ่มทำงานเพื่อปรับปรุงกลไกการล้างแคชและโครงสร้างการจัดเก็บดัชนีของ journald แล้ว
ที่มา: opennet.ru
