เนื่องจาก Ubuntu 21.10 มาพร้อมกับ Cgroup V2 และดูเหมือนว่าโปรเจ็กต์ของฉันจำเป็นต้องมีข้อจำกัดด้านหน่วยความจำ ฉันจึงตัดสินใจใช้ แต่ฉันมีปัญหาบางอย่าง
ฉันต้องการ RAM จำนวนมากเพื่อทดสอบแนวคิด ดังนั้นเนื่องจากโปรเซสเซอร์ของฉันไม่สามารถรับ RAM มากกว่า 128G ฉันจึงตัดสินใจรับ RAM จากเซิร์ฟเวอร์อื่นเป็น SWAP
ดังนั้นฉันจึงติดตั้งพาร์ติชันจาก 512G RAM บนเซิร์ฟเวอร์ที่สอง และใช้เซิร์ฟเวอร์ NFS เพื่อให้เซิร์ฟเวอร์แรกของฉันเข้าถึงได้ในฐานะไคลเอ็นต์
เซิร์ฟเวอร์ทั้งสองนี้มีการเชื่อมต่อระหว่างเซิร์ฟเวอร์ 40Gbps ดังนั้นจึงมีความเร็วเพียงพอสำหรับการทดสอบ
ในเซิร์ฟเวอร์แรก ฉันติดตั้งพาร์ติชัน NFS จากเซิร์ฟเวอร์ที่สอง และสร้างไฟล์สลับบนพาร์ติชันนั้น และฉันก็พร้อมที่จะใช้ 128G ram และ 512G swap
หลังจากที่ฉันเริ่มการทดสอบและผ่าน RAM 128G ไปแล้ว เซิร์ฟเวอร์ของฉันหยุดทำงานเนื่องจากโปรแกรมอรรถประโยชน์ที่รันอยู่ไม่มีที่ว่างให้ทำงานใน RAM และฉันตัดสินใจจำกัดการใช้หน่วยความจำด้วย cgroup
ปัญหา:
เมื่อฉันตั้งค่าขีดจำกัด MemoryHigh ทำงานได้ดี หลังจากขีดจำกัด กำลังดำเนินการและเติมการแลกเปลี่ยน แต่หยุดที่ขีดจำกัดเดียวกันกับ RAM อย่างใด cgroup จำกัด การใช้ SWAP ที่ความจุเท่ากับหน่วยความจำ RAMดังนั้นถ้าฉันตั้งค่า MemoryHigh=110G ฉันสามารถไปที่ 110G บน ram และ 110G ในการสลับ ใครรู้วิธีกำหนดค่า cgroup เพื่อให้การแลกเปลี่ยนไม่จำกัด
ภาพคำอธิบายสี