เหตุใด 12.04 จึงลบรสชาติเคอร์เนล -server


13

Ubuntu กำลังลบรสชาติของเซิร์ฟเวอร์ - ตามที่ระบุในบันทึกประจำรุ่น 12.04:

เช่นเดียวกับ Beta-1 เคอร์เนล Beta-2 จะไม่แยกเคอร์เนล amd64 -server และ -generic kernel อีกต่อไป สิ่งเหล่านี้ได้ถูกรวมเข้าด้วยกันเป็นรสเคอเรน - เจนเนอเรชั่นเดียวเพื่อช่วยลดภาระการบำรุงรักษาตลอดอายุการใช้งานของ LTS

ความแตกต่างระหว่าง -generic และ -server ดูเหมือนจะเกี่ยวข้องกับการจองล่วงหน้าตัวจับเวลาขัดจังหวะและตัวกำหนดเวลา i / o ตามที่ระบุไว้ใน: https://help.ubuntu.com/10.10/serverguide/C/preparing-to-install .html # บทนำ-เคอร์เนล diffs

ฉันขอข้อมูลจำเพาะทางเทคนิค

  1. แล้วจะเกิดอะไรขึ้นตอนนี้
  2. รุ่นของเซิร์ฟเวอร์จะรันเคอร์เนลเดสก์ท็อปโดยไม่มีการปรับประสิทธิภาพหรือไม่
  3. นี่เป็นธรรมหรือไม่?
  4. เกิดอะไรขึ้นกับความแตกต่างนั้น?
  5. พวกเขาสามารถเปลี่ยนแปลงได้ใน userspace หรือไม่
  6. ไม่มี appllicable ตั้งแต่ 12.04?
  7. หากคำตอบคือใช่การเปลี่ยนแปลงนี้จะเกี่ยวข้องกับการลงโทษประสิทธิภาพหรือไม่

ทั้งหมดเป็นคำถามที่สามารถตอบได้ ฉันขอเปลี่ยนแปลงแพคเกจโดยเฉพาะไม่ใช่อย่างอื่น

คำตอบ:


10

ดังที่คุณสังเกตเห็นในประกาศการวางจำหน่ายเคอร์เนลทั่วไปและรสชาติของเซิร์ฟเวอร์ถูกรวมเข้ากับรุ่น 12.04 เพื่อพยายามลดภาระการบำรุงรักษาตลอดอายุการใช้งานของ LTS จริง ๆ แล้วรสชาติของเคอร์เนลทั้งสองแตกต่างกันโดยขึ้นอยู่กับตัวเลือกการกำหนดค่าเคอร์เนลหลัก 2 ตัวเท่านั้น: ตัวกำหนดตารางเวลา I / O เริ่มต้นและโมเดลการจอง

สิ่งนี้ถูกกล่าวถึงอย่างละเอียดในรายชื่อผู้รับจดหมายของทีมเคอร์เนลของ Ubuntu

ตามที่ระบุไว้ในเธรดนั้นตัวกำหนดตารางเวลา I / O เริ่มต้นเปลี่ยนจาก "วันครบกำหนด" เป็น "cfq" แต่ทุกคนที่ต้องการที่จะอยู่กับวันสุดท้ายของ I / O elevator=deadlineตารางเวลาสามารถทำได้ในเวลาบูตโดยการตั้งค่า

โมเดลใบจองเปลี่ยนจาก CONFIG_PREEMPT_NONE เป็น CONFIG_PREEMPT_VOLUNTARY ในเวลานี้ฉันโชคไม่ดีที่ไม่มีมาตรฐานในการแสดงเพื่อชี้ให้คุณเห็น หวังว่านี่จะช่วยได้บ้าง ขอบคุณ


7

ตอบคำถาม "ทำไม" ของคุณภายในคำพูดที่คุณให้ - เพราะง่ายต่อการรักษาด้วยวิธีนี้ ฟังก์ชั่นเคอร์เนลค่อนข้างดีคุณสามารถเปลี่ยนสิ่งต่าง ๆ เช่นตัวกำหนดตารางเวลาในขณะทำงานดังนั้นจึงไม่จำเป็นต้องกดเพื่อให้คอมไพล์ค่าเริ่มต้นต่าง ๆ รวบรวม

ด้วยเหตุผลที่แน่นอนและการอภิปรายรายละเอียดที่คุณจะต้องถามในรายชื่อผู้รับจดหมายของ Ubuntu KernelTeam - ดูหน้าKernelTeam Wiki ที่ให้ข้อมูลสำหรับข้อมูลติดต่อ


2

สิ่งที่เกิดขึ้นตอนนี้คือมีเคอร์เนลเดียวสำหรับทั้งเซิร์ฟเวอร์และเดสก์ท็อป ตัวกำหนดตารางเวลา IO สามารถเปลี่ยนแปลงได้ที่รันไทม์หากคุณต้องการ แต่ CFQ เป็นฟีเจอร์ส่วนใหญ่ที่สมบูรณ์และได้รับการบำรุงรักษาอย่างแข็งขันดังนั้นจึงเป็นค่าเริ่มต้นที่ดี สิ่งที่คุณใช้สร้างความแตกต่างเพียงเล็กน้อยภายใต้ปริมาณงานส่วนใหญ่ เคอร์เนลเซิร์ฟเวอร์ใช้เพื่อปิดการใช้งานแม้แต่การจองเคอร์เนลโดยสมัครใจเพราะในทางทฤษฎีแล้วมันอาจให้เพียงเล็กน้อยทรูพุตที่ดีขึ้น แต่ฉันไม่ได้ตระหนักถึงการวัดประสิทธิภาพใด ๆ ที่แสดงผลประโยชน์ใด ๆ ที่นั่นดังนั้นในทางปฏิบัติเซิร์ฟเวอร์จะไม่ได้รับผลกระทบจากการย้ายไปยังโมเดลการกำหนดสมมติฐานเดสก์ท็อป เคอร์เนลก็ไม่มีประสิทธิภาพ (CONFIG_NO_HZ) ซึ่งหมายความว่าจะกำหนดเวลาการขัดจังหวะตัวจับเวลาเฉพาะเมื่อจำเป็นต้องใช้แอพพลิเคชั่นที่ใช้ตัวจับเวลามากกว่าในช่วงเวลาที่กำหนดและฉันเชื่อว่านี่เป็นกรณีของรีลีสหลาย ๆ ตัว .

TL; DR: ไม่มีประโยชน์ในการบำรุงรักษาเคอร์เนลอื่นสำหรับเซิร์ฟเวอร์ดังนั้นการฝึกจึงหยุดลง


I / O ตารางเวลาไม่แน่นอนสร้างความแตกต่างโดยเฉพาะอย่างยิ่งสำหรับการทำงานแบบเสมือนปริมาณงาน ลองดูที่นี่: publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/topic/liaat/ ......มันสรุป"ภาพรวมแสดงให้เห็นว่ากำหนดการ I / O กำหนดเวลามีประสิทธิภาพเหนือกว่า CFQ I / O scheduler โดยเฉพาะอย่างยิ่งใน สถานการณ์แบบมัลติเธรด " .
syneticon-dj
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.