ฉันคิดว่าฉันเข้าใจว่า MacOSX จัดการหน่วยความจำได้อย่างไร แต่เมื่อเร็ว ๆ นี้ฉันรู้สึกสับสนกับประสิทธิภาพของมัน นี่คือสถานการณ์:
- ฉันมีระบบ Core i7 ใหม่ล่าสุดพร้อมหน่วยความจำกายภาพ 8GB ที่ใช้ MacOSX 10.6.7 มีแอปพลิเคชั่นไม่กี่ตัวที่ใช้งานหน่วยความจำบางตัวเป็นประจำเช่น Safari, Mail, Xcode, Terminal เป็นต้น
- ฉันจำเป็นต้องเรียกใช้กระบวนการ 64 บิตสามชุดในแบบคู่ขนานซึ่งแต่ละกระบวนการใช้หน่วยความจำจริงประมาณ 2000M
- แม้ว่าหน่วยความจำแบบใช้สายจะอยู่ต่ำกว่า 1,000M (เช่นฉันมีมากกว่า 7000M สำหรับกระบวนการ) ฉันเห็นกิจกรรมการเพจหนักซึ่งนำไปสู่ประสิทธิภาพที่แย่มากจากกระบวนการที่ใช้หน่วยความจำสามอย่างที่ฉันเปิดตัว
- เห็นได้ชัดว่าฉันไม่ได้ใช้งาน RAM ที่ว่างอยู่เนื่องจากหน่วยความจำที่ไม่ได้ใช้งานรายงานอยู่ที่ 2500M และหน่วยความจำที่ใช้งานไม่สูงกว่า 5,000M
ใครสามารถให้เบาะแสแก่ฉันว่าทำไม MacOSX ไม่ปล่อยหน่วยความจำที่ไม่ได้ใช้งานสำหรับกระบวนการที่ต้องการแทนที่จะหันไปใช้การเพจ นอกจากนี้ยังมีวิธีที่เหมาะสมที่จะมีอิทธิพลต่อการจัดการหน่วยความจำโดยระบบหรือไม่