เมื่อเร็ว ๆ นี้เพื่อนของฉันบอกฉันว่ามันเป็นความคิดที่ดีที่จะปิด swap บนเว็บเซิร์ฟเวอร์ linux ที่มีหน่วยความจำเพียงพอ เซิร์ฟเวอร์ของฉันมี 12 GB และปัจจุบันใช้ 4GB (ไม่นับแคชและบัฟเฟอร์) ภายใต้โหลดสูงสุด
อาร์กิวเมนต์ของเขาคือว่าในเซิร์ฟเวอร์สถานการณ์ปกติจะไม่ใช้ RAM ทั้งหมดดังนั้นวิธีเดียวที่จะสามารถพบสถานการณ์ OutOfMemory ได้เนื่องจากบั๊ก / ddos / etc ดังนั้นในกรณีที่ swap ถูกปิดระบบจะมีหน่วยความจำไม่เพียงพอซึ่งจะทำให้หน่วยความจำของโปรแกรมหยุดทำงานชั่วคราว (เป็นไปได้มากว่ากระบวนการเซิร์ฟเวอร์เว็บ) และกระบวนการอื่น ๆ ในกรณีที่มีการเปิดการแลกเปลี่ยนบนมันจะกินทั้ง RAM และ swap และในที่สุดจะส่งผลให้เกิดความผิดพลาดเหมือนกัน แต่ก่อนหน้านั้นมันจะถ่ายกระบวนการที่สำคัญเช่น sshd เพื่อสลับและเริ่มทำการแลกเปลี่ยนจำนวนมากซึ่งทำให้เกิดการชะลอตัวครั้งใหญ่ วิธีนี้เมื่ออยู่ภายใต้ระบบ ddos อาจเข้าสู่สภาพที่ใช้ไม่ได้อย่างสมบูรณ์เนื่องจากความล่าช้ามากและฉันอาจจะไม่สามารถเข้าสู่ระบบและฆ่ากระบวนการเว็บเซิร์ฟเวอร์หรือปฏิเสธการรับส่งข้อมูลที่เข้ามาทั้งหมด (ทั้งหมดยกเว้น ssh)
ถูกต้องหรือไม่ ฉันทำบางสิ่งบางอย่างหายไป (เช่นข้อเท็จจริงที่ว่าการสลับพาร์ติชั่นนั้นมีประโยชน์อย่างมากแม้ว่าฉันจะมี RAM เพียงพอ) ฉันควรปิดหรือไม่