TL; DR ไม่ถูกต้องหากใช้ swap เป็นเพียงแฮ็คขี้เกียจที่แสดงให้เห็นถึงความเข้าใจที่ไม่ดีของระบบย่อยหน่วยความจำและขาดทักษะการบริหารระบบขั้นพื้นฐาน การออกแบบบริการโครงสร้างพื้นฐานและไม่เข้าใจระบบเหล่านี้จะสิ้นสุดลงในความล้มเหลว
ดังนั้นฉันมีความเห็นเกี่ยวกับเรื่องนี้ดูเหมือนว่าฉันจะขี้เกียจมากกว่าฟีเจอร์หรือข้อกำหนด เป็นไปได้อย่างแน่นอนที่จะจัดการ swap อย่างถูกต้องวิเคราะห์หน่วยความจำและกำหนดวิธีการใช้ระบบย่อยหน่วยความจำอย่างเหมาะสมโดยไม่ต้องกดปุ่ม swap มีเครื่องมือมากมายที่สร้างขึ้นรอบ ๆ นี้และคุณสามารถรับประกันได้ว่ากระบวนการจะไม่ใช้การสลับอย่างง่ายดายดังนั้นจุดของประสิทธิภาพไม่ถูกต้อง มันเป็นโค้ดที่ขี้เกียจที่จะไม่ใส่เครื่องมือนี้และการถอดการแลกเปลี่ยนโดยสมบูรณ์จะทำให้ประสิทธิภาพของระบบแย่ลง กุญแจสำคัญในที่นี้คือการใช้อย่างถูกต้อง ฉันจะยอมรับว่าการสลับไปยังดิสก์ฝักจะส่งผลกระทบต่อประสิทธิภาพการทำงาน แต่มีจำนวนของสิ่งที่ควรจะสลับออกไปยังดิสก์
นอกจากนี้เคอร์เนล linux ได้รับการออกแบบเพื่อใช้ swap และปิดการใช้งานอย่างสมบูรณ์มันจะมีผลกระทบเชิงลบ วิธีที่ดีกว่าในการจัดการสิ่งนี้คือการตรึงพ็อดลงในหน่วยความจำหลักและไม่อนุญาตให้สลับไปยังดิสก์ลดความดันแคช vfs เพื่อที่จะไม่สลับเว้นแต่ว่ามันจำเป็นจริงๆ MALLOC ล้มเหลวในกรณีที่หน่วยความจำหลักหมด
ทั้งนี้ขึ้นอยู่กับกระบวนการในภาชนะบรรจุที่มีความล้มเหลวอย่างหนักของภาชนะบรรจุหรือมีการฆ่าโดย OOM killer อาจส่งผลให้เกิดผลลัพธ์ที่หายนะ ฉันเข้าใจว่ากระบวนการที่ทำงานในภาชนะบรรจุเหล่านี้ควรเป็นแบบไร้รัฐและไม่ยั่งยืน แต่ใน 20 ปีของระบบการทำงานฉันไม่เคยเห็นทุกคนปฏิบัติตามการออกแบบตามความตั้งใจกับตัวอักษร 100% ของเวลา
นอกจากนี้ยังไม่ได้คำนึงถึงเทคโนโลยีในอนาคตเช่นหน่วยความจำแบบไม่ลบเลือนและระบบหน่วยความจำรุ่นใหม่เช่น intel xpoint ซึ่งสามารถนำมาใช้เพื่อขยายหน่วยความจำหลักอย่างมีนัยสำคัญโดยใช้ระบบไฮบริดดิสก์ / หน่วยความจำ ด้วยระบบประเภทนี้พวกเขาสามารถใช้พวกเขาโดยตรงเป็นหน่วยความจำหลักเสริมหรือใช้ไฟล์ swap เพื่อขยายหน่วยความจำหลักที่มีผลกระทบต่อประสิทธิภาพการทำงานเล็กน้อย