ช่วยบอกว่าเรามีเครื่อง OS X ที่ทำงานด้วย RAM ขนาด 4 GB เป็นไปได้หรือไม่ที่จะติดตั้งเพื่อให้ไม่มีกระบวนการเดียวที่สามารถใช้งานได้มากกว่าการพูด 3 GB ดังนั้นไม่ว่าหน่วยความจำจะทำงานกับกระบวนการอย่างไรมีหน่วยความจำเหลืออยู่เสมอเพื่อให้ระบบตอบสนองหรือไม่
ช่วยบอกว่าเรามีเครื่อง OS X ที่ทำงานด้วย RAM ขนาด 4 GB เป็นไปได้หรือไม่ที่จะติดตั้งเพื่อให้ไม่มีกระบวนการเดียวที่สามารถใช้งานได้มากกว่าการพูด 3 GB ดังนั้นไม่ว่าหน่วยความจำจะทำงานกับกระบวนการอย่างไรมีหน่วยความจำเหลืออยู่เสมอเพื่อให้ระบบตอบสนองหรือไม่
คำตอบ:
คำถามที่คล้ายกันนี้ถูกบันทึกไว้ที่นี่ฉันจะ จำกัด จำนวน RAM ที่แอปพลิเคชัน Mac OS สามารถใช้ได้อย่างไร
พวกเขาแนะนำให้ใช้คำสั่งulimitแต่ไม่สามารถ จำกัด จำนวนตามที่ต้องการได้ ฉันคิดว่าปัญหาที่พวกเขาพบคือความจริงที่ว่าตัวเลือกการตั้งค่า -u หรือ -v ไม่ใช่การบัญชีสำหรับหน่วยความจำระบบเพจเช่นคุณสามารถจัดสรรจำนวน X พื้นที่สำหรับกระบวนการของคุณในแรมจริง แต่เราสามารถหน้า คุณออกไปสู่หน่วยความจำเสมือนตลอดทั้งวัน
โปรดทราบว่านี่อาจเป็นอันตรายปิดการใช้งานหน่วยความจำเสมือนมันอาจส่งผลให้ Mac ของคุณเพิ่งล็อค ฯลฯ เมื่อมันทำงานของแรม
ลองเรียกใช้ ulimit ด้วยอาร์กิวเมนต์ -l, -m หรือ -v ตามที่ระบุไว้ใน ulimit man page จนถึง OS หากจะให้ความสนใจกับการตั้งค่าเหล่านี้หรือไม่ตามที่ระบุไว้
ulimit: ulimit [-SHacdefilmnpqrstuvx] [จำกัด ]
แก้ไขข้อ จำกัด ของทรัพยากรเชลล์
จัดเตรียมการควบคุมทรัพยากรที่มีให้กับเชลล์และกระบวนการที่สร้างบนระบบที่อนุญาตการควบคุมดังกล่าว
ไม่พบแหล่งที่แน่นอนที่ยืนยันว่า OS X ละเว้น ulimit หรือไม่ แต่หลังจาก ulimit ที่อ้างอิงล้มเหลว
หากคุณสามารถใช้ ulimit ให้ทำงานได้ตามความต้องการของคุณเองให้ปล่อยมันไปถ้าไม่ใช่การรวมกันของ ulimit และการปิดการใช้งานหน่วยความจำเสมือนอาจช่วยให้คุณสามารถตั้งค่าขีด จำกัด 3 GB สำหรับกระบวนการที่เลือกได้ FYI ที่นี่เป็นลิงค์ที่ดีสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการปิดใช้งานหน่วยความจำเสมือนโดยสิ้นเชิงในระบบ Snow Leopard 10.6
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist
หากคุณใช้เซิร์ฟเวอร์ Lion (หรือ OSX ที่ใหม่กว่า) บน Mac ของคุณคุณอาจสามารถเรียกใช้ OSX ภายใน VM (VirtualBox, Parallels หรือ VMWare, et.al. ) บน Mac เครื่องนั้น จำกัด VM ไว้ที่ 3GB ของ RAM จริงและแอพหรือกระบวนการใด ๆ ภายใน VM ก็จะถูก จำกัด เช่นกัน ระบบที่โฮสต์ VM ควรรักษาการตอบสนองแม้ว่าระบบปฏิบัติการใน VM จะสำรองข้อมูลหรือ จำกัด การทำงานของดิสก์
หากคุณกำลังดีบักกระบวนการที่อาจเกิดขึ้นคุณอาจสามารถ ssh ใน VM เพื่อเรียกใช้ดีบักเกอร์หรือ debug nub จากบรรทัดคำสั่งและล็อกไฟล์จนกว่าสิ่งต่างๆจะถูกล็อก