Mac Virtual Memory – คืออะไร

สารบัญ:

Anonim

เมื่อเร็ว ๆ นี้ฉันถูกถามเกี่ยวกับไฟล์ swapfile ของ Mac OS X โดยเฉพาะวิธีปิดการใช้งานการแลกเปลี่ยน Mac OS X ทั้งหมด ฉันตัดสินใจว่าจะใช้โอกาสนี้พูดคุยเกี่ยวกับหน่วยความจำเสมือนของ Mac (สลับ) ตำแหน่งในระบบไฟล์ Mac และอธิบายวิธีปิดใช้งานด้วย

Mac OS X Swap aka Virtual Memory

คุณอาจจำได้ว่าใน Mac OS เวอร์ชันเก่า (OS 8 และ 9) คุณสามารถปิดใช้งานการสลับได้ด้วยตนเอง ซึ่งเรียกว่าหน่วยความจำเสมือน โดยเพียงแค่ปรับการตั้งค่าในแผงควบคุมMac OS X แตกต่างออกไปเล็กน้อยเนื่องจากสร้างขึ้นบนยูนิกซ์คอร์ซึ่งต้องอาศัยการสลับไฟล์และการเพจสำหรับหน่วยความจำทั่วไปและการจัดการแคช ด้วยเหตุนี้ การแลกเปลี่ยนจึงมีความสำคัญมากกว่าใน Mac OS เวอร์ชันก่อนๆ

โดยพื้นฐานแล้ว เมื่อ Mac ของคุณต้องการหน่วยความจำ มันจะพุชสิ่งที่ไม่ได้ใช้งานอยู่ใน swapfile เพื่อจัดเก็บชั่วคราว เมื่อต้องการเข้าถึงอีกครั้ง มันจะอ่านข้อมูลจากไฟล์ swap และกลับเข้าไปในหน่วยความจำ ในแง่นี้สามารถสร้างหน่วยความจำได้ไม่จำกัด แต่ช้ากว่ามากเนื่องจากถูกจำกัดด้วยความเร็วของฮาร์ดดิสก์ของคุณ เทียบกับการอ่านข้อมูลจาก RAM ที่แทบจะฉับไว

หากคุณสงสัย คุณสามารถตรวจสอบการใช้หน่วยความจำเสมือนของ Mac OS X ได้โดยใช้คำสั่ง 'vm_stat' หรือใช้ตัวตรวจสอบกิจกรรม (มักเรียกผิด ๆ ว่า Mac task manager โดย Windows converters)

Mac OS X สลับตำแหน่งไฟล์

หากคุณสงสัยว่าไฟล์ swap จัดเก็บอยู่ที่ใดใน Mac ไฟล์เหล่านั้นจะอยู่ที่:

/private/var/vm/

ไฟล์นี้ยังมีไฟล์สลีปอิมเมจของคุณ ซึ่งเป็นสิ่งที่ Mac ของคุณจัดเก็บไว้ในหน่วยความจำก่อนที่ระบบจะสลีป ไฟล์นี้จะถูกอ่านอีกครั้งเมื่อคุณปลุก Mac ของคุณให้กลับสู่สถานะก่อนหน้า อย่างไรก็ตาม กลับไปสลับไฟล์ในไดเร็กทอรีเดียวกัน: มีการตั้งชื่อต่อเนื่องกัน swapfile0, swapfile1, swapfile2, swapfile3, swapfile4, swapfile5 คุณสามารถดูได้ด้วยตัวคุณเองโดยใช้คำสั่งต่อไปนี้:

ls -lh /private/var/vm/swapfile

โดยทั่วไปแล้ว swapfiles จะมีขนาดที่เหลื่อมกัน ตั้งแต่ 64MB ถึง 512MB

ปิดการใช้งาน Mac OS X Paging / Swap

ข้อควรระวัง: ฉันขอแนะนำไม่ให้แก้ไขวิธีที่ Mac OS X จัดการกับการจัดการหน่วยความจำและสลับไฟล์ เว้นแต่คุณจะทราบแน่ชัดว่าคุณกำลังทำอะไรและทำไม การปรับเปลี่ยนนี้ไม่แนะนำให้ทำ อีกครั้ง หากคุณไม่รู้ว่ากำลังทำอะไร อย่ายุ่งกับ swapfiles หรือความสามารถในการเพจของ Mac OS X!

ใน Terminal ให้ป้อนคำสั่งต่อไปนี้ การดำเนินการนี้จะยกเลิกการโหลดเพจเจอร์แบบไดนามิกจากเคอร์เนล Mac OS X:

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

อีกครั้ง สิ่งนี้จะปิดใช้งานความสามารถในการเพจของ Mac OS X โดยสมบูรณ์ อย่ายุ่งกับสิ่งนี้เพื่อความสนุก

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

sudo rm /private/var/vm/swapfile

แค่นั้นแหละ

Mac Virtual Memory – คืออะไร