Оперативна пам’ять дуже важлива для продуктивності Linux з кількох причин:
Схованки. Більшу частину часу Linux працює без вільної пам'яті. Якщо деяка пам'ять не використовується програмами, вона використовується для кеш-пам'яті, яка прискорює роботу. Тож жодна пам'ять ніколи не витрачається даремно. Якщо додаткам потрібно більше пам’яті, кеші звільняються, тому кеші ніколи не перешкоджатимуть застосуванню додаткової оперативної пам’яті. Але звичайно, чим більше може кешуватися, тим краще.
Для багатьох програм (особливо настільних) для запуску потрібна багато пам'яті. Це не дивно - більшість настільних систем (або навіть смартфонів) в наші дні мають набагато більше пам’яті, ніж Rapsberry Pi. Наприклад, веб-браузери навіть у легкій вазі) використовуватимуть десятки МБ пам'яті, як тільки ви відкриєте якийсь більший веб-сайт.
Кожна програма потребує деякої кількості пам'яті. Отже, чим більше запущених програм, тим більше пам’яті вони використовують.
Тому ви завжди хочете мати якомога більше пам'яті ARM. Але GPU має власні потреби залежно від того, які функції ви бажаєте від неї.
256MB версія
Для старших RaspberryPi з 256 Мб оперативної пам’яті доступні 4 розбиття:
240/16 - ARM з найбільшим розміром оперативної пам’яті (240 МБ) з міміальною пам’яттю GPU. Це найкраще для загальних обчислень, коли вам не потрібна 3D-графіка або апаратне прискорення відео. У нього достатньо пам'яті для обробки роздільної здатності кадрів 1920x1200x16bpp. Хоча 32bpp також працює, це не рекомендується, оскільки це залишає дуже мало вільної пам'яті для GPU.
224/32 - ця застаріла ідея на користь 240/16 розколу. У нього вбудовано 3D та апаратне відеодекодування, але оскільки недостатньо пам’яті, щоб фактично ним користуватися, його використання мало. Якщо у вас є проблеми з розділенням 240/16 або ви хочете використовувати 32bpp framebuffer з максимальною роздільною здатністю. Цілком можливо, що її буде видалено в майбутньому.
192/64 - Для використання апаратного відео прискорення або 3D-графіки вам потрібно принаймні 64 Мб розділеного графічного процесора. Можливо, не вистачить пам’яті GPU для прискореного відтворення відео з найвищою роздільною здатністю або якщо вам потрібно багато пам’яті GPU для таких речей, як текстури.
128/128 - найбільше оперативної пам’яті оперативної пам’яті. Використовуйте його, коли вам потрібно багато пам’яті для відтворення відео графічної картки та апаратного прискореного відео у високій роздільній здатності. Цей розкол потрібен, щоб RaspBMC працював належним чином або без проблем відтворював відеоконтент FullHD з omxplayer.
Версія 512 Мб
Нові версії RaspberryPi мають 512 Мб оперативної пам’яті. У вас є 4 додаткові розколи для цієї версії:
- 496/16 та 448/64 - подібні
240/16
та 192/64
розділені на 256 МБ відповідно, але з 256 Мб більше оперативної пам’яті, доступної для ARM. Оскільки в графічному процесорі є лише 16 МБ / 64 МБ або оперативна пам’ять, усі обмеження з 240/16
/ 192/64
досі діють.
- 384/128 - Подібно до 128/128 розбиття на 256 МБ - ви повинні отримати всі функції графічного чіпа, але з розумною кількістю пам'яті ARM. Це, мабуть, найбільш універсальний розкол зараз.
- 256/256 - деяка бонусна пам'ять графічної картки, якщо вона вам справді потрібна, як-от для великих текстур і подібних речей. Хоча 256 Мб оперативної пам'яті більше, ніж ви могли мати у старшому 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
файли - це версії для скорочення відповідних файлів, які використовуються лише коли gpu_mem=16
.
Використання однієї SD-карти у версії 256 та 512 Мб
Якщо ви використовуєте одне зображення SD-карти для різних версій RaspberryPi, ви можете використовувати gpu_mem_256
та gpu_mem_512
параметри. Перший буде використовуватися лише у версії 256 МБ, а другий - лише у версії плати 512 Мб.