การตั้งค่า swappiness เป็นการปรับแต่งตามวิธีที่ Linux คำนวณผลประโยชน์ / ข้อเสียของการแลกเปลี่ยนในสถานการณ์เฉพาะ swappiness ที่สูงจะไม่ทำให้ระบบสลับเมื่อไม่ต้องการและการ swappiness ต่ำทำให้คุณไม่ต้องปิดการแลกเปลี่ยนอย่างสมบูรณ์จะไม่ป้องกันระบบของคุณจากการแลกเปลี่ยนเมื่อมันจำเป็นต้องใช้
ความรวดเร็วในการตั้งค่าเริ่มต้นที่ 60 หรือมากกว่านั้นคือการประนีประนอมที่ดีมากเพื่อให้มั่นใจว่าระบบของคุณมีประสิทธิภาพที่ดีโดยทำให้มั่นใจได้ว่าจะไม่ยากเกินกว่าที่จะจัดสรรหน่วยความจำแคชในขณะที่มีหน่วยความจำของโปรแกรม
โปรดจำไว้ว่าหากคุณมีแรมมากมายสำหรับกระบวนการทั้งหมดรวมถึงแคชซึ่งโดยปกติจะเป็นกรณีที่คุณมี RAM จริงการแลกเปลี่ยนไม่น่าจะเป็นปัญหาสำหรับคุณอยู่ดี วิธีที่ต้องการเพื่อแก้ไขปัญหาการสลับเปลี่ยนมากเกินไปคือการลดการใช้ RAM โดยกระบวนการและ / หรือเพื่อเพิ่ม RAM จริง การลดความ swappiness จะมีผลกระทบถ้าสิ่งที่คุณต้องการจริง ๆ คือแรมมากกว่า
โปรดดูคำตอบที่ฉันเขียนถึงคำถามที่คล้ายกันมาก:
/ubuntu//a/184221/54256
ข้อความที่ตัดตอนมา:
ทำไมคนส่วนใหญ่แนะนำให้ลดความว่องไวเป็น 10-20
เพราะส่วนใหญ่เชื่อว่าการแลกเปลี่ยน = ไม่ดีและถ้าคุณไม่ลดความไม่แน่นอนระบบจะสลับเมื่อไม่จำเป็นต้องใช้จริงๆ ไม่เป็นความจริงเลย ผู้คนเชื่อมโยงการแลกเปลี่ยนกับเวลาที่ระบบของพวกเขาจมลง - แต่ส่วนใหญ่เป็นการแลกเปลี่ยนเพราะระบบกำลังจมลงไม่ใช่ทางอื่น ๆ เป็นความจริงที่ว่ามีบางช่วงเวลาที่การสลับเปลี่ยนอาจมีการปรับประสิทธิภาพที่เห็นได้ชัดเจน แต่ระบบจะได้รับการพิจารณาแล้วว่าในการตัดสินใจเปลี่ยนและการตัดสินใจที่ไม่ทำเช่นนั้นจะมีการลงโทษโดยรวมที่มากขึ้นในประสิทธิภาพของระบบ ต่อมากลายเป็นชัดเจน โดยรวมแล้วการตั้งค่าเริ่มต้นควรส่งผลให้ประสิทธิภาพโดยรวมและความน่าเชื่อถือดีที่สุด ฉันขอแนะนำให้ทิ้งไว้เป็นค่าเริ่มต้น
...
เมื่อคุณใช้หน่วยความจำเพียงพอที่เหลืออยู่ไม่เพียงพอสำหรับแคชที่รันได้อย่างราบรื่น Linux อาจจัดสรรหน่วยความจำแอปพลิเคชันที่ไม่ได้ใช้อีกครั้งจาก RAM เพื่อสลับ
มันไม่ได้ทำตามคำสั่งที่แน่นอน ไม่ใช่ว่าคุณจะจัดสรรได้ถึงระดับหนึ่งแล้ว Linux ก็เริ่มทำการแลกเปลี่ยน มันมีอัลกอริธึมที่ค่อนข้าง "คลุมเครือ" ต้องคำนึงถึงหลายสิ่งหลายอย่างซึ่งสามารถอธิบายได้ดีที่สุดโดย "ความกดดันในการจัดสรรหน่วยความจำ" หากมี "ความกดดัน" จำนวนมากในการจัดสรรหน่วยความจำใหม่มันจะเพิ่มโอกาสที่บางคนจะถูกสลับเพื่อให้มีพื้นที่มากขึ้น หากมี "แรงกดดัน" น้อยลงจะทำให้โอกาสเหล่านี้ลดลง
ระบบของคุณมีการตั้งค่า "swappiness" ซึ่งจะช่วยให้คุณปรับแต่งวิธีคำนวณ "ความดัน" นี้ ปกติแล้วจะไม่แนะนำให้เปลี่ยนแปลงสิ่งนี้เลยและแน่นอนว่าฉันจะไม่แนะนำให้คุณเปลี่ยนแปลงมัน การแลกเปลี่ยนโดยรวมเป็นสิ่งที่ดีมาก - การปรับประสิทธิภาพเป็นครั้งคราวมีวัตถุประสงค์เพื่อชดเชยโดยการเพิ่มขึ้นของการตอบสนองของระบบโดยรวมและความเสถียรสำหรับงานที่หลากหลาย ถ้าคุณลดความว่องไวลงคุณปล่อยให้จำนวนหน่วยความจำแคชหดตัวลงมากกว่าที่จะเป็นอย่างอื่นแม้ว่ามันจะมีประโยชน์จริงๆก็ตาม คุณจึงมีความเสี่ยงที่จะทำให้คอมพิวเตอร์ของคุณช้าลงโดยทั่วไปเพราะมีแคชน้อยกว่าในขณะที่แอปพลิเคชันที่ไม่ได้ใช้งานหน่วยความจำถูกใช้งาน ไม่ว่าสิ่งนี้จะเป็นการแลกเปลี่ยนที่ดีพอสำหรับปัญหาเฉพาะใด ๆ ที่คุณกำลังเผชิญกับการแลกเปลี่ยนหรือไม่นั้นขึ้นอยู่กับคุณ
เกิดอะไรขึ้นเมื่อระบบจมลงและสลับอย่างหนัก
หลายครั้งที่ผู้คนจะมองไปที่ระบบของพวกเขาที่ฟาดดิสก์อย่างหนักและใช้พื้นที่สว็อปจำนวนมากและตำหนิการแลกเปลี่ยน นั่นเป็นวิธีที่ผิดที่จะทำ หากการแลกเปลี่ยนถึงจุดสูงสุดนี้หมายความว่าระบบของคุณมีหน่วยความจำเหลือน้อยมากและการสลับเป็นสิ่งเดียวที่ป้องกันไม่ให้เกิดการล่มหรือการฆ่าแบบสุ่ม ในสถานการณ์เช่นนี้กระบวนการจะล้มเหลวและตาย การสลับเป็นอาการของปัญหาที่ลึกกว่า ในระบบที่มีหน่วยความจำเพียงพอสำหรับงานทั้งหมดการสลับจะทำให้มั่นใจได้ว่าหน่วยความจำจะถูกใช้ในวิธีที่มีประสิทธิภาพจัดการหน่วยความจำกับแคชผ่านกระบวนการที่ไม่ได้ใช้งานซึ่งเห็นว่ามันคุ้มค่า ในระบบที่มีการสลับสับเปลี่ยนดิสก์อย่างไม่หยุดยั้งมันก็ไม่ใช่ความผิดของการแลกเปลี่ยน
เมื่อเลือกสิ่งที่จะสลับไปยังดิสก์ระบบจะพยายามเลือกหน่วยความจำที่ไม่ได้ใช้จริง - อ่านหรือเขียนจาก มันมีอัลกอริธึมที่ค่อนข้างง่ายสำหรับการคำนวณสิ่งนี้ซึ่งเลือกได้เกือบตลอดเวลา
...
แต่การสลับความเร็วของระบบได้อย่างไร ไม่ได้แลกเปลี่ยนสิ่งที่ช้าลงหรือไม่
การถ่ายโอนข้อมูลจาก RAM ไปยัง swap เป็นการทำงานที่ช้า แต่จะใช้ก็ต่อเมื่อเคอร์เนลค่อนข้างมั่นใจว่าประโยชน์โดยรวมจะมีค่ามากกว่านี้ ตัวอย่างเช่นหากหน่วยความจำแอปพลิเคชันของคุณเพิ่มขึ้นจนถึงจุดที่คุณไม่มีแคชเหลืออยู่และ I / O ของคุณไม่มีประสิทธิภาพเนื่องจากสิ่งนี้คุณสามารถเพิ่มความเร็วได้มากขึ้นจากระบบของคุณโดยการเพิ่มหน่วยความจำ หลังจากค่าใช้จ่ายเริ่มต้นของการแลกเปลี่ยนข้อมูลเพื่อให้มันเป็นอิสระ
สามารถอ่านโพสต์ทั้งหมดได้ที่/ubuntu//a/184221/54256