Mac Virtual Memory – คืออะไร
สารบัญ:
เมื่อเร็ว ๆ นี้ฉันถูกถามเกี่ยวกับไฟล์ 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
แค่นั้นแหละ