RAM มีความสำคัญอย่างยิ่งต่อประสิทธิภาพของ Linux เนื่องจากเหตุผลสองประการ:
แคช Linux ทำงานโดยไม่มีหน่วยความจำว่างตลอดเวลา หากแอปพลิเคชั่นไม่ได้ใช้หน่วยความจำบางตัวมันจะใช้สำหรับแคชที่เพิ่มความเร็วให้ ดังนั้นหน่วยความจำจึงไม่สูญเปล่า หากแอปพลิเคชันต้องการหน่วยความจำเพิ่มเติมแคชจะถูกปล่อยเพื่อแคชจะไม่ป้องกันแอปพลิเคชันที่ต้องการ RAM เพิ่มขึ้นในการทำงาน แต่แน่นอนยิ่งแคชของคุณมากเท่าไหร่ก็ยิ่งดีเท่านั้น
แอปพลิเคชั่นมากมาย (โดยเฉพาะที่เดสก์ท็อป) ต้องการหน่วยความจำจำนวนมากในการทำงานทุกวันนี้ นี่ไม่ใช่เรื่องแปลก - ระบบเดสก์ท็อปส่วนใหญ่ (หรือแม้แต่สมาร์ทโฟน) ทุกวันนี้มีหน่วยความจำมากกว่า Rapsberry Pi ตัวอย่างเช่นเว็บเบราว์เซอร์ที่มีน้ำหนักเบา) จะใช้หน่วยความจำหลายสิบ MB ทันทีที่คุณเปิดเว็บไซต์ที่ใหญ่กว่า
แอปพลิเคชั่นแต่ละตัวและทุกตัวต้องการหน่วยความจำจำนวนหนึ่ง ดังนั้นยิ่งคุณรันแอพพลิเคชั่นมากเท่าไรหน่วยความจำก็จะยิ่งใช้งานมากขึ้น
ดังนั้นคุณจึงต้องการมีหน่วยความจำ ARM มากที่สุดเท่าที่จะทำได้ แต่ GPU มีความต้องการของตัวเองขึ้นอยู่กับคุณสมบัติที่คุณต้องการ
รุ่น 256MB
สำหรับ RaspberryPi รุ่นเก่าที่มี RAM 256 MB จะมี 4 splits:
240/16 - ARM ขนาด RAM ส่วนใหญ่สามารถรับได้ (240MB) พร้อมหน่วยความจำ GPU เลียนแบบ เหมาะที่สุดสำหรับการคำนวณทั่วไปเมื่อคุณไม่ต้องการกราฟิก 3D หรือการเร่งความเร็ววิดีโอฮาร์ดแวร์ มีหน่วยความจำเพียงพอที่จะจัดการกับความละเอียดเฟรมบัฟเฟอร์ 1920x1200x16bpp ในขณะที่ 32bpp ยังใช้งานได้ไม่แนะนำให้ใช้เนื่องจากมีหน่วยความจำเหลือน้อยสำหรับ GPU
224/32 - อันนี้เลิกใช้ในการแบ่ง 240/16 มันมีโครงสร้างการถอดรหัสวิดีโอแบบ 3D และฮาร์ดแวร์ แต่เนื่องจากมีหน่วยความจำไม่เพียงพอที่จะใช้งานจริงจึงมีจุดใช้งานน้อย ถ้าคุณไม่มีปัญหากับการแยก 240/16 หรือต้องการใช้ 32bpp framebuffer ที่ความละเอียดสูงสุด เป็นไปได้ว่ามันจะถูกลบในอนาคต
192/64 - คุณต้องแบ่ง GPU อย่างน้อย 64MB เพื่อใช้การเร่งความเร็ววิดีโอฮาร์ดแวร์หรือกราฟิก 3D อาจมีหน่วยความจำ GPU ไม่เพียงพอสำหรับการเล่นวิดีโอที่เร่งความเร็วด้วยความละเอียดสูงสุดหรือหากคุณต้องการหน่วยความจำ GPU จำนวนมากสำหรับสิ่งต่าง ๆ เช่นพื้นผิว
128/128 - RAM GPU ส่วนใหญ่สามารถรับได้ ใช้เมื่อคุณต้องการหน่วยความจำจำนวนมากสำหรับการ์ดกราฟิก 3D และการเล่นวิดีโอที่เร่งด้วยฮาร์ดแวร์ด้วยความละเอียดสูง การแบ่งนี้จำเป็นสำหรับ RaspBMC เพื่อให้ทำงานได้อย่างถูกต้องหรือเล่นเนื้อหาวิดีโอ fullHD ด้วย omxplayer โดยไม่มีปัญหา
รุ่น 512MB
RaspberryPi เวอร์ชั่นใหม่มี RAM 512 MB คุณมี 4 ตัวแยกเพิ่มเติมที่ออกแบบมาสำหรับรุ่นนี้:
- 496/16และ448/64 - เหมือน
240/16
และ192/64
แยกเป็น 256MB ตามลำดับ แต่มี RAM เพิ่มขึ้น 256MB สำหรับ ARM เนื่องจาก GPU มีเพียง 16 MB / 64MB หรือ RAM ข้อ จำกัด ทั้งหมดจาก240/16
/ 192/64
ยังคงมีผลบังคับใช้
- 384/128 - คล้ายกับ128/128แบ่งเป็น 256MB - คุณควรได้รับคุณสมบัติชิปกราฟิกทั้งหมด แต่มีหน่วยความจำ ARM ในปริมาณที่เหมาะสม นี่อาจจะเป็นการแบ่งที่เป็นสากลมากที่สุด
- 256/256 - หน่วยความจำกราฟิกการ์ดโบนัสบางส่วนหากคุณต้องการจริงๆเช่นพื้นผิวขนาดใหญ่และสิ่งที่คล้ายกัน ในขณะที่หน่วยความจำ ARM ขนาด 256MB นั้นใหญ่กว่าที่คุณเคยมีใน RaspberryPis รุ่นเก่า แต่ฉันไม่คิดว่าจะใช้หน่วยความจำนี้หลายต่อหลายครั้ง
แยกแบบไดนามิก
แพ็คเกจเฟิร์มแวร์เวอร์ชั่นใหม่จะลบstart_*.elf
ไฟล์ส่วนใหญ่โดยเหลือเพียงstart.elf
และstart_cd.elf
(รวมถึงfixup*.elf
ไฟล์ที่มีการเพิ่ม) start_*.file
จากนี้ไปคุณไม่ต้องเลือกที่เหมาะสมด้วยตนเอง แต่คุณควรใช้gpu_mem*
ตัวเลือกในconfig.txt
ไฟล์เพื่อเลือกจำนวนหน่วยความจำของ GPU หน่วยความจำที่เหลือจะถูกจัดสรรให้กับ ARM เป็นไปได้ที่จะใช้หมายเลขที่กำหนดเองในช่วงต่อไปนี้สำหรับตัวเลือกนี้:
**512MB of RAM**: 16M-448M
**256MB of RAM**: 16M-192M
ในขณะที่ไม่มีค่าการแบ่งรหัสแบบฮาร์ดโค้ดตอนนี้ข้อมูลส่วนใหญ่สำหรับคำตอบที่เหลือนี้ควรยังคงใช้ได้เมื่อคุณพยายามที่จะกำหนดจำนวนหน่วยความจำที่จัดสรรให้กับ GPU
start_cd.elf
และfixup_cd.elf
ไฟล์cutdowngpu_mem=16
รุ่นของไฟล์นั้นเพียงใช้เมื่อ
ใช้การ์ด SD หนึ่งการ์ดทั้งในเวอร์ชัน 256 และ 512 MB
หากคุณใช้อิมเมจการ์ด SD หนึ่งอันสำหรับรุ่น RaspberryPi ที่แตกต่างกันคุณสามารถใช้gpu_mem_256
และgpu_mem_512
ตัวเลือกต่างๆ ตัวแรกจะใช้กับรุ่น 256MB เท่านั้นส่วนที่สองจะใช้กับรุ่น 512MB เท่านั้น