La RAM est essentielle aux performances de Linux pour plusieurs raisons:
Caches. Linux fonctionne sans mémoire libre la plupart du temps. Si une partie de la mémoire n'est pas utilisée par les applications, elle est utilisée pour les caches, ce qui accélère les choses. Donc, aucune mémoire n'est jamais perdue. Si les applications nécessitent plus de mémoire, les caches sont libérés pour ne pas empêcher les applications nécessitant plus de RAM de s'exécuter. Mais bien sûr, plus vous pouvez mettre en cache, mieux c'est.
De nombreuses applications (en particulier celles de bureau) ont besoin de beaucoup de mémoire aujourd'hui. Ce n'est pas une surprise - la plupart des systèmes de bureau (ou même des smartphones) ont aujourd'hui beaucoup plus de mémoire que Rapsberry Pi. Par exemple, les navigateurs Web utilisent même des dizaines de Mo de mémoire dès que vous ouvrez un site Web plus grand.
Chaque application nécessite une certaine quantité de mémoire. Ainsi, plus vous exécutez d'applications, plus elles utilisent de la mémoire.
Donc, vous voulez toujours avoir autant de mémoire ARM que possible. Mais GPU a ses propres besoins en fonction des fonctionnalités que vous souhaitez en tirer.
Version de 256 Mo
Pour le RaspberryPi plus ancien, avec 256 Mo de RAM, 4 divisions sont disponibles:
240/16 - La taille maximale de RAM que peut obtenir ARM (240 Mo) avec la mémoire GPU mimiale. C'est le meilleur pour l'informatique générale lorsque vous n'avez pas besoin de graphiques 3D ou d'accélération vidéo matérielle. Il dispose de suffisamment de mémoire pour gérer une résolution de framebuffer de 1920x1200x16bpp. Bien que 32bpp fonctionne également, il n’est pas recommandé car il ne laisse que très peu de mémoire libre pour le processeur graphique.
224/32 - Celui-ci est déconseillé au profit de 240/16 split. Il intègre le décodage vidéo 3D et matériel, mais comme il n’ya pas assez de mémoire pour l’utiliser, il ne sert à rien de l’utiliser. Sauf si vous rencontrez des problèmes avec la division 240/16 ou souhaitez utiliser le framebuffer 32bpp à la résolution maximale. Il est possible qu'il soit supprimé à l'avenir.
192/64 - Vous devez disposer d'au moins 64 Mo de fractionnement GPU pour utiliser l'accélération vidéo matérielle ou les graphiques 3D. Il se peut que la mémoire GPU ne soit pas suffisante pour permettre une lecture vidéo accélérée au matériel avec une résolution maximale ou si vous avez besoin de beaucoup de mémoire GPU pour des tâches telles que les textures.
128/128 - Le GPU avec le plus de RAM possible. Utilisez-le lorsque vous avez besoin de beaucoup de mémoire pour la lecture vidéo à haute résolution avec une carte graphique 3D et un matériel accéléré. Cette division est nécessaire au bon fonctionnement de RaspBMC ou à la lecture sans problème de contenu vidéo fullHD avec omxplayer.
Version de 512Mo
Les nouvelles versions de RaspberryPi ont 512 Mo de RAM. Vous avez 4 divisions supplémentaires conçues pour cette version:
- 496/16 et 448/64 - comme
240/16
et 192/64
divisé pour 256 Mo respectivement, mais avec 256 Mo plus de RAM disponible pour ARM. Étant donné que le processeur graphique ne dispose que de 16 Mo / 64 Mo ou de RAM, toutes les limitations de 240/16
/ 192/64
s'appliquent toujours.
- 384/128 - Semblable au 128/128 divisé pour 256 Mo - vous devriez obtenir toutes les fonctionnalités de la puce graphique mais avec une quantité raisonnable de mémoire ARM. Ce sera probablement la scission la plus universelle en ce moment.
- 256/256 - Un peu de mémoire supplémentaire pour carte graphique si vous en avez vraiment besoin, comme pour les grosses textures et autres choses similaires. Bien que 256 Mo de mémoire ARM soient plus volumineux que dans les anciens RaspberryPis, je ne pense pas que celui-ci sera utilisé à plusieurs reprises.
Scissions dynamiques
Les nouvelles versions du paquet firmware supprime la plupart des start_*.elf
fichiers, ne laissant que start.elf
et start_cd.elf
(aussi les fixup*.elf
fichiers où ajoutés). A partir de maintenant, vous n'avez plus besoin de choisir manuellement start_*.file
. Au lieu de cela, vous devez utiliser les gpu_mem*
options du config.txt
fichier pour choisir la quantité de mémoire allouée au GPU. La mémoire restante sera allouée à ARM. Il devrait être possible d'utiliser un nombre arbitraire dans la plage suivante pour ces options:
**512MB of RAM**: 16M-448M
**256MB of RAM**: 16M-192M
Bien qu'il n'y ait pas actuellement de valeurs fractionnées codées en dur, la plupart des informations pour le reste de cette réponse doivent toujours être valides lorsque vous essayez de déterminer la quantité de mémoire à allouer au GPU.
start_cd.elf
et les fixup_cd.elf
fichiers sont des versions réduites des fichiers respectifs, utilisés uniquement quand gpu_mem=16
.
Utilisation d'une carte SD sur les versions 256 et 512 Mo
Si vous utilisez une image de carte SD pour différentes versions de RaspberryPi, vous pouvez utiliser gpu_mem_256
et gpu_mem_512
options. Le premier ne sera utilisé que sur la version 256 Mo, le second sur la version 512 Mo de la carte.