หน่วยความจำเสมือนจะมากกว่าพื้นที่ว่างทั้งหมดได้อย่างไร


9

เหตุใด MBP ของฉันจึงรายงานVM Size: 300+ GBใน Activity Monitor ภายใต้แท็บหน่วยความจำระบบเมื่อขนาดฮาร์ดดิสก์ของฉันมีเพียง 250 GB (ทั้งหมด) และ RAM เป็น 4GB? ฉันรู้ว่ามันไม่สามารถเพิ่มพื้นที่ว่างได้อย่างน่าอัศจรรย์ แต่มันพยายามบอกอะไรฉัน


คำตอบ:


3

มันเป็นจินตนาการทั้งหมดดังนั้นการรวมกันของโปรแกรมบางอย่างก็บอกว่ามันอาจใช้วันนั้นมาก ไม่ต้องกังวลหากพื้นที่สว็อปมีขนาดใหญ่กว่า RAM ของคุณหรือ ram แบบมีสาย + ที่ใช้งานอยู่มีค่ามากกว่า 75% ของ RAM จริง (3GB ในกรณีของคุณ)

โดยทั่วไปแนวคิดนี้ทำให้การจัดการหน่วยความจำเร็วขึ้นขณะที่ระบบกำลังทำงาน เนื่องจากโปรแกรมยังคงถามถึงหน่วยความจำมากขึ้นเรื่อย ๆ ระบบจึงวางโครงเสมือนของ RAM เสมือนพร้อมพื้นที่มากมายระหว่างการจัดสรรแต่ละกระบวนการ สิ่งนี้ทำให้การคำนวณทั่วไปบางอย่างง่ายขึ้นและเร็วขึ้นและทำให้ไม่น่าเป็นไปได้ที่ภูมิภาคจะทับซ้อนกัน เมื่อพื้นที่หน่วยความจำเสมือนทับซ้อนกันมันมีค่าใช้จ่ายมากกว่าที่จะหยุดสิ่งต่างๆชั่วคราวและแมปหน่วยความจำใหม่ภายใต้โปรแกรมที่กำลังทำงานอยู่ การแข่งขันกีฬาโอลิมปิกทางจิตทั้งหมดที่เกี่ยวข้องกับหน่วยความจำเสมือนทำให้ mac ของคุณทำงานได้เร็วขึ้น


3

ไลบรารีและเฟรมเวิร์กที่ใช้ร่วมกันจะถูกนับเป็นส่วนหนึ่งของหน่วยความจำเสมือนสำหรับทุกแอปพลิเคชันที่ใช้

หากคุณมีกระบวนการ100 รายการที่ทำงานบนคอมพิวเตอร์ของคุณและห้องสมุดขนาด 5 MB ที่ใช้โดยกระบวนการเหล่านั้นทั้งหมดห้องสมุดนั้นจะถูกนับเป็นหน่วยความจำเสมือน500 MB

คุณสามารถเพิ่มตัวเลขในคอลัมน์หน่วยความจำเสมือนของรายการกระบวนการชื่อที่แม่นยำยิ่งขึ้นสำหรับคอลัมน์นั้นคือ " หน่วยความจำส่วนตัวเสมือน" ไม่รวมข้อมูลที่แชร์


100 โพรเซสไม่สูงเท่าที่ฟัง (ขณะนี้ฉันมี 75 บน MBP ของฉันและฉันทำงานน้อยกว่าปกติ)

บางไลบรารีใช้โดยแอปพลิเคชั่นเกือบทุกตัวในระบบของคุณแม้กระทั่งที่ไม่มีอินเทอร์เฟซ หลังจากเพิ่มไลบรารีที่แชร์ทั้งหมดในระบบของคุณคุณมีข้อมูลจำนวนมากที่ใช้หน่วยความจำน้อยมาก

ตามที่กล่าวไว้ใน bmike คุณควรกังวลเกี่ยวกับพื้นที่สว็อปหรือ ram แบบมีสาย + ที่ใช้งานอยู่ ตอนนี้การตรวจสอบกิจกรรมบอกฉันว่าฉันมีหน่วยความจำเสมือน 170 GB แต่ฉันใช้พื้นที่สวอป 1.5 MB เท่านั้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.