โรมัน กุชชิน (
แนวทางที่นำเสนอทำให้สามารถเพิ่มประสิทธิภาพในการใช้ Slab ได้ ลดขนาดหน่วยความจำที่ใช้สำหรับ Slab ลง 30-45% และลดการใช้หน่วยความจำโดยรวมของเคอร์เนลได้อย่างมาก การลดจำนวนแผ่นพื้นที่ไม่สามารถเคลื่อนย้ายได้ก็มีผลเชิงบวกในการลดการกระจายตัวของหน่วยความจำด้วย ตัวควบคุมหน่วยความจำใหม่ช่วยลดความซับซ้อนของโค้ดสำหรับการบัญชีสำหรับแผ่นคอนกรีตลงอย่างมาก และไม่จำเป็นต้องใช้อัลกอริธึมที่ซับซ้อนสำหรับการสร้างและลบแคชแผ่นคอนกรีตสำหรับแต่ละกลุ่ม cgroup cgroups หน่วยความจำทั้งหมดในการใช้งานใหม่ใช้ชุดแคช Slab ทั่วไป และอายุการใช้งานของ Slab Cache จะไม่เชื่อมโยงกับอายุการใช้งานของแคชที่ติดตั้งผ่าน cgroup อีกต่อไป
การบัญชีทรัพยากรที่แม่นยำยิ่งขึ้นที่นำมาใช้ในตัวควบคุมแผ่นพื้นใหม่ควรโหลด CPU ในทางทฤษฎีมากขึ้น แต่ในทางปฏิบัติความแตกต่างกลับกลายเป็นว่าไม่มีนัยสำคัญ โดยเฉพาะอย่างยิ่ง ตัวควบคุมสแลบใหม่ถูกใช้เป็นเวลาหลายเดือนบนเซิร์ฟเวอร์ Facebook ที่ใช้งานจริงซึ่งจัดการปริมาณงานประเภทต่างๆ และยังไม่มีการระบุการถดถอยที่เห็นได้ชัดเจน ในเวลาเดียวกันการใช้หน่วยความจำลดลงอย่างมาก - ในบางโฮสต์สามารถบันทึกหน่วยความจำได้มากถึง 1GB แต่ตัวบ่งชี้นี้ขึ้นอยู่กับลักษณะของโหลดขนาด RAM ทั้งหมดจำนวน CPU และคุณสมบัติการทำงานกับหน่วยความจำ การทดสอบก่อนหน้า
ที่มา: opennet.ru