ฉันต้องการเพิ่ม (หรือลด) จำนวนหน่วยความจำที่มีให้กับ R มีวิธีใดบ้างในการบรรลุสิ่งนี้
ฉันต้องการเพิ่ม (หรือลด) จำนวนหน่วยความจำที่มีให้กับ R มีวิธีใดบ้างในการบรรลุสิ่งนี้
คำตอบ:
จาก:
http://gking.harvard.edu/zelig/docs/How_do_I2.html ( มิเรอร์ )
ผู้ใช้ Windows อาจได้รับข้อผิดพลาดว่า R มีหน่วยความจำไม่เพียงพอ
หากคุณติดตั้ง R ไว้แล้วและติดตั้ง RAM เพิ่มเติมในภายหลังคุณอาจต้องติดตั้ง R ใหม่เพื่อใช้ประโยชน์จากความจุเพิ่มเติม
คุณสามารถกำหนดจำนวนหน่วยความจำที่มีได้ด้วยตนเอง ปิด R จากนั้นคลิกขวาที่ไอคอนโปรแกรม R ของคุณ (ไอคอนบนเดสก์ท็อปหรือในไดเรกทอรีโปรแกรมของคุณ) เลือก `` Properties '' จากนั้นเลือกแท็บ `` Shortcut '' มองหาช่อง `` เป้าหมาย '' และหลังเครื่องหมายคำพูดปิดรอบตำแหน่งของ R ที่เรียกใช้งานได้ให้เพิ่ม
--max-Mem-size = 500M
ดังแสดงในรูปด้านล่าง คุณสามารถเพิ่มค่านี้ได้ถึง 2GB หรือจำนวนสูงสุดของ RAM จริงที่คุณติดตั้ง
หากคุณได้รับข้อผิดพลาดที่ R ไม่สามารถจัดสรรเวกเตอร์ที่มีความยาว x ได้ให้ปิด R และเพิ่มบรรทัดต่อไปนี้ในฟิลด์ `` เป้าหมาย '':
--max-vsize = 500M
หรือตามความเหมาะสม คุณสามารถตรวจสอบว่าหน่วยความจำ R มีอยู่เท่าใดโดยพิมพ์ที่พรอมต์ R
memory.limit()
ซึ่งให้จำนวนหน่วยความจำที่มีอยู่ในหน่วย MB ในรุ่นก่อนหน้าของ R round(memory.limit()/2^20, 2)
ที่คุณจำเป็นต้องใช้:
ใช้memory.limit()
. คุณสามารถเพิ่มค่าดีฟอลต์ได้โดยใช้คำสั่งนี้โดยmemory.limit(size=2500)
มีขนาดเป็น MB คุณต้องใช้ 64 บิตเพื่อใช้ประโยชน์จากสิ่งนี้อย่างแท้จริง
ข้อเสนอแนะอีกประการหนึ่งคือการใช้อ็อบเจ็กต์ที่มีประสิทธิภาพของหน่วยความจำทุกที่ที่เป็นไปได้ตัวอย่างเช่นใช้เมทริกซ์แทน data.frame
Microsoft Windows ยอมรับคำขอหน่วยความจำใด ๆ จากกระบวนการต่างๆหากสามารถทำได้
ไม่มีขีด จำกัด สำหรับหน่วยความจำที่สามารถจัดเตรียมให้กับกระบวนการได้ยกเว้นขนาดหน่วยความจำเสมือน
ขนาดหน่วยความจำเสมือนคือ 4GB ในระบบ 32 บิตสำหรับกระบวนการใด ๆ ไม่ว่าคุณจะใช้งานกี่แอปพลิเคชันก็ตาม กระบวนการใด ๆ สามารถจัดสรรหน่วยความจำได้สูงสุด 4GB ในระบบ 32 บิต
ในทางปฏิบัติ Windows จะจัดสรรหน่วยความจำบางส่วนจาก RAM หรือไฟล์เพจโดยอัตโนมัติขึ้นอยู่กับการร้องขอกระบวนการและกลไกการเพจของไฟล์
แต่ข้อ จำกัด อีกประการหนึ่งคือขนาดของไฟล์เพจจิ้ง หากคุณมีไฟล์เพจขนาดเล็กคุณจะไม่สามารถจัดสรรความทรงจำขนาดใหญ่ได้ คุณสามารถเพิ่มขนาดของไฟล์เพจจิ้งตามMicrosoftเพื่อให้มีพื้นที่หน่วยความจำมากขึ้น
ในการเพิ่มจำนวนหน่วยความจำที่จัดสรรให้กับ R คุณสามารถใช้memory.limit
memory.limit(size = ...)
หรือ
memory.size(max = ...)
เกี่ยวกับข้อโต้แย้ง