นี่คือไดอะแกรมของ Munin
การใช้หน่วยความจำ: http://koryagin.com/w/q/memory-day.png
สลับเข้า / ออก: http://koryagin.com/w/q/swap-day.png
เหตุใด Linux จึงตัดสินใจเพิ่มแคชและใช้ swap เมื่อขนาด RAM ใหญ่กว่าหน่วยความจำที่โปรแกรมใช้
นี่คือไดอะแกรมของ Munin
การใช้หน่วยความจำ: http://koryagin.com/w/q/memory-day.png
สลับเข้า / ออก: http://koryagin.com/w/q/swap-day.png
เหตุใด Linux จึงตัดสินใจเพิ่มแคชและใช้ swap เมื่อขนาด RAM ใหญ่กว่าหน่วยความจำที่โปรแกรมใช้
คำตอบ:
เซิร์ฟเวอร์ของคุณอาจมีหน่วยความจำที่กินและ / หรือกระบวนการที่ไม่ได้ใช้งานมีหน้าไม่ได้ใช้งานจำนวนมาก เคอร์เนล Linux ต้องการสลับส่วนที่ไม่ได้ใช้งานของโปรแกรมเพื่อสลับเนื่องจากหน่วยความจำส่วนใหญ่จะใช้แคชได้ดีกว่า
หากคุณต้องการเปลี่ยนพฤติกรรมนี้เล่นด้วยvm.swappiness
sysctl ที่ปรับค่าได้ แต่ได้รับคำเตือนการเอาชนะผู้พัฒนาเคอร์เนล / ผู้ดูแลระบบ distroart นั้นไม่ใช่เรื่องง่าย :-)
คุณประสบปัญหาประสิทธิภาพการทำงานบนเซิร์ฟเวอร์ของคุณในระหว่างการแลกเปลี่ยนที่เพิ่มขึ้นหรือคุณถามด้วยความอยากรู้?
slabtop
ลองใช้คำสั่ง
slabtop
ข้อมูล
systat -vmstat
ใน FreeBSD (อาจเป็น BSD อื่น ๆ ด้วย)
คุณควรลองเล่นกับพารามิเตอร์swappiness เนื่องจากคุณสามารถเห็นระบบของคุณเริ่มสลับเมื่อพยายามเพิ่มขนาดแคชไฟล์นี่เป็นเรื่องปกติถ้า swappines ไม่ใช่ 0