บทสรุปผู้บริหาร
พื้นที่สว็อป (เรียกว่าพาร์ติชันสลับ, ไฟล์สว็อปหรือไฟล์หน้า) เป็นเพียงกลไกในการเพิ่มหน่วยความจำฟิสิคัลที่แอดเดรสของระบบปฏิบัติการ
หากคุณมี RAM จริงในระดับต่ำและในเครื่องปัจจุบันฉันจะบอกว่าถ้าคุณมี RAM 4 GB หรือน้อยกว่า จากนั้นคุณควรจะมีการแลกเปลี่ยน แต่สิ่งนี้ขึ้นอยู่กับปริมาณงานของคุณและวิธีการใช้เครื่องของคุณ
หากคุณมี RAM มากกว่า 4GB มีโอกาสที่ระบบของคุณจะไม่ใช้การแลกเปลี่ยน ดังนั้นหากการแลกเปลี่ยนถูกเปิดใช้งานหรือไม่สิ่งนี้จะไม่เปลี่ยนแปลงมากนัก
แม้ว่าสิ่งนี้จะขึ้นอยู่กับปัจจัยอื่น ๆ เครื่องของคุณก็จะทำงานได้นานขึ้นและมีโอกาสมากขึ้นที่ระบบปฏิบัติการจะสลับส่วนที่ไม่ได้ใช้ของ RAM ไปยังส่วนที่เล็กที่ไม่ได้ใช้ อย่างไรก็ตามบ่อยครั้งที่ระบบใช้ RAM "ฟรี" สำหรับบัฟเฟอร์ไฟล์และสิ่งอื่น ๆ และภาระงานบางอย่างอาจทำให้บัฟเฟอร์ไฟล์ของคุณใช้ RAM ที่มีอยู่ทั้งหมด
ข้อมูลพื้นฐาน
จะเกิดอะไรขึ้นถ้าคุณปิดการแลกเปลี่ยนและใช้หน่วยความจำของคุณโดยสมบูรณ์? ครั้งต่อไปที่แอปพลิเคชันร้องขอหน่วยความจำเพิ่มเติม (เช่น malloc หรือ realloc) แอปพลิเคชันจะได้รับข้อผิดพลาด! หากมีการเข้ารหัสอย่างเหมาะสมแอปพลิเคชันจะตรวจจับได้ แต่การจัดการข้อผิดพลาดดังกล่าวและการยกเลิกโปรแกรมอย่างสง่างามอาจเป็นความท้าทาย! อย่างไรก็ตามนักพัฒนาซอฟต์แวร์จำนวนมากไม่ได้ทดสอบการจัดสรรหน่วยความจำที่ประสบความสำเร็จและบ่อยครั้งที่แอปพลิเคชันจะหยุดทำงานทันทีที่มีการใช้หน่วยความจำที่ไม่ได้รับการจัดสรรนี้ ดังนั้นจึงมีโอกาสสูงที่แอปพลิเคชันจะทำงานล้มเหลวและที่จริงแล้วแอปพลิเคชันจำนวนมากจะทำงานล้มเหลวเนื่องจากคุณมีแอปพลิเคชันมากกว่าหนึ่งรายการที่ทำงานในเวลาเดียวกัน หวังว่าเคอร์เนลควรจะมีภูมิคุ้มกัน แต่จากประสบการณ์ของฉันมันไม่ได้เป็นเช่นนั้นเสมอไป
หากคุณมีการแลกเปลี่ยนคุณจะมีพฤติกรรมเดียวกัน , แต่คุณมีวงเงินสูงขึ้นเพื่อให้มีโอกาสที่คุณจะไม่ถึงขีด จำกัด ที่
ฉันมี personnaly 2 เครื่องพร้อม RAM 8 และ 16 GB การใช้งานเครื่องส่วนตัวของฉันไม่ควรทำให้ฉันใช้ RAM นี้จนหมด (วันนี้! บางทีในอีกไม่กี่ปีข้างหน้าจะแตกต่างกัน เหตุผลเดียวที่ฉันจะตีขีด จำกัด ทางกายภาพของแรมคือกระบวนการได้รับการโกงและใช้ RAM ทั้งหมด การไม่มีการสลับเป็นการผ่อนปรนเคอร์เนลจะฆ่ากระบวนการโกงทันทีที่มันถึงขีด จำกัด RAM หากคุณมีการสลับคุณจะได้รับประสบการณ์ที่เจ็บปวด (อาจไม่ได้อยู่ใน SSD ... ) เนื่องจากระบบของคุณจะสลับและสลับและสลับและบางครั้งก็ไม่ตอบสนองโดยสิ้นเชิงจนกระทั่งหวังว่าเคอร์เนลของคุณจะฆ่าผู้กระทำผิด!
ให้คำแนะนำ
คุณไม่ควรกลัวที่คนอื่นจะบอกคุณว่ามีอะไรผิดปกติอย่างร้ายแรงหากคุณนำ swap ออก หากคุณทำเช่นนั้นพื้นที่ที่อยู่จริงของคุณจะลดลงคล้ายกับว่าคุณจะเปลี่ยนจาก RAM ขนาด 4 GB เป็น 2 GB คุณจะทำสิ่งนั้นหรือไม่? จากนั้นคุณไม่ควรลบการแลกเปลี่ยน แต่คุณสามารถตัดสินใจที่จะ จำกัด มันและที่จะฉลาด
หากคิดว่าเวิร์กโหลดของเขาอาจทำให้เขาใช้งานอย่างใกล้ชิดหรือมากกว่า RAM จริงที่มีอยู่หรือถ้าต้องการ I / O จำนวนมาก (อ่าน / เขียนไปยังดิสก์) ควรเก็บ swap ไว้
เมื่อควรเก็บสลับไว้ผู้ใช้ควรพยายาม จำกัด จำนวนหน่วยความจำที่กระบวนการสามารถใช้ บนระบบลีนุกซ์เราสามารถใช้ขีด จำกัด หน่วยความจำของ cgroups เพื่อหลีกเลี่ยงกระบวนการบางอย่างที่ไม่สามารถควบคุมได้ฉันไม่ทราบว่าเทียบเท่ากับ OS X แต่ควรเป็นวิธี
อย่างไรก็ตามหากมีหน่วยความจำเพียงพอสำหรับภาระงานของเขาเขาก็สามารถปิดการแลกเปลี่ยนได้อย่างปลอดภัยหรือเขาสามารถเก็บไว้ได้ มันจะไม่เปลี่ยนแปลงมากนักแม้ในแง่ของประสิทธิภาพเพราะหากระบบไม่ใช้การแลกเปลี่ยนคุณจะไม่ได้รับผลกระทบจากการลดลงของประสิทธิภาพ
การใช้กลอุบายแบบเดียวกันกับด้านบนเพื่อพยายามตั้งค่าขีด จำกัด หน่วยความจำต่อกระบวนการหรือกลุ่มของกระบวนการก็เป็นประโยชน์เช่นกันในกรณีที่มี RAM มากเกินพอ
ตัวอย่างของฉันเอง
ฉันมีพีซีเก่าที่มี RAM ขนาด 1 GB ที่นั่นฉันมี swap ขนาดใหญ่: 4 GB ดังนั้นฉันจึงสามารถเรียกใช้ Firefox และแอปพลิเคชันอื่น ๆ ฉันมักจะใช้เป็นแอปพลิเคชั่นเล็ก ๆ น้อย ๆ (หรือแท็บใน Firefox) ให้มากที่สุดเพื่อให้ได้รับประสบการณ์การใช้งานที่ถูกต้อง
ฉันมีเซิร์ฟเวอร์ขนาดเล็กที่มี RAM 8 GB ที่นั่นฉันรู้ว่าภาระงานของฉันแน่นอนและฉันไม่ต้องการให้เซิร์ฟเวอร์ของฉันทำงานช้าลงเนื่องจากกระบวนการมีการโกงและใช้หน่วยความจำทั้งหมด ที่นั่นฉันไม่มีหน่วยความจำ swap และ cgroup จำกัด การบังคับใช้สิ่งกีดขวางดังนั้นแอปพลิเคชันหรือบริการอาจมีปัญหา แต่ไม่ใช่เคอร์เนล Btw นี่เป็นเครื่องลีนุกซ์
จากนั้นฉันมี Mac ที่มี RAM 16 GB ฉันไม่ใช่ผู้ใช้คนเดียว แต่อย่างใดและเราจะไม่รังเกียจที่จะรอเมื่อเปลี่ยนผู้ใช้ ที่นั่นเรามี swap มันเป็นเรื่องยากสำหรับฉันที่จะวางแผนภาระงานของผู้ใช้รายอื่นของคอมพิวเตอร์เครื่องนี้ แม้ว่าฉันจะเป็นคนเดียวที่ฉันจะใช้ swap ฉันมักจะเรียกใช้ VM หลายครั้งและใช้แอปพลิเคชันที่ใช้หน่วยความจำมาก แต่ไม่ใช่ทั้งหมดในเวลาเดียวกันดังนั้นฉันจะไม่คำนึงถึงระบบปฏิบัติการ SWaping ในแอพที่ไม่ได้ใช้ดังนั้นฉันจึงสามารถใช้ดิสก์ I / O เร็วขึ้น ถึงตอนนี้ฉันไม่ได้เห็นการแลกเปลี่ยนเครื่องนี้!