A RAM é muito crucial para o desempenho do Linux por dois motivos:
Caches. O Linux é executado sem memória livre a maior parte do tempo. Se alguma memória não for usada pelos aplicativos, ela será usada para caches que aceleram as coisas. Portanto, nenhuma memória é desperdiçada. Se os aplicativos precisarem de mais memória, os caches serão liberados para que eles nunca impeçam a execução de aplicativos que precisam de mais RAM. Mas é claro que quanto mais você puder armazenar em cache, melhor.
Muitos aplicativos (especialmente os de desktop) precisam de muita memória para rodar hoje em dia. Isso não é surpresa - a maioria dos sistemas de desktop (ou até smartphones) hoje em dia tem muito mais memória que o Rapsberry Pi. Por exemplo, navegadores da Web, mesmo que leves), usarão dezenas de MB de memória assim que você abrir um site maior.
Todo e qualquer aplicativo precisa de alguma quantidade de memória. Portanto, quanto mais aplicativos você executa, mais memória eles usam.
Então você sempre quer ter o máximo de memória ARM possível. Mas a GPU tem suas próprias necessidades, dependendo dos recursos que você deseja dela.
Versão de 256MB
Para RaspberryPi mais antigo, com 256 MB de RAM, 4 divisões estão disponíveis:
240/16 - O máximo de ARM de tamanho RAM possível (240 MB) com memória GPU imitada. É o melhor para computação geral quando você não precisa de gráficos 3D ou aceleração de vídeo por hardware. Possui memória suficiente para lidar com a resolução de buffer de quadro de 1920x1200x16bpp. Embora 32bpp também esteja funcionando, não é recomendado, pois deixa uma quantidade muito pequena de memória livre para a GPU.
224/32 - Este foi descontinuado em favor da divisão 240/16. Possui decodificação de vídeo em 3D e hardware, mas como não há memória suficiente para usá-lo, há pouco sentido em usá-lo. A menos que você tenha problemas com a divisão 240/16 ou queira usar o buffer de quadros de 32bpp na resolução mais alta. É possível que seja excluído no futuro.
192/64 - Você precisa de pelo menos 64 MB de GPU dividida para usar a aceleração de vídeo por hardware ou gráficos 3D. Pode não haver memória GPU suficiente para a reprodução de vídeo acelerada por hardware na resolução mais alta ou se você precisar de muita memória GPU para coisas como texturas.
128/128 - O máximo de GPU de RAM possível. Use-o quando precisar de muita memória para reprodução de vídeo acelerada por placa gráfica e hardware 3D em alta resolução. Essa divisão é necessária para que o RaspBMC funcione corretamente ou reproduza conteúdo de vídeo fullHD com o omxplayer sem problemas.
Versão de 512MB
Novas versões do RaspberryPi tem 512 MB de RAM. Você tem 4 divisões adicionais projetadas para esta versão:
- 496/16 e 448/64 - como
240/16
e 192/64
dividido por 256MB respectivamente, mas com 256MB mais RAM disponível para ARM. Como a GPU possui apenas 16 MB / 64MB ou RAM, todas as limitações de 240/16
/ 192/64
ainda se aplicam.
- 384/128 - Semelhante ao 128/128 dividido para 256 MB - você deve obter todos os recursos dos chips gráficos, mas com uma quantidade razoável de memória ARM. Essa provavelmente será a divisão mais universal no momento.
- 256/256 - Um pouco de memória da placa gráfica de bônus, se você realmente precisar, como para texturas grandes e coisas semelhantes. Embora 256 MB de memória ARM sejam maiores do que você poderia ter nos RaspberryPis mais antigos, acho que este não será usado em muitas ocasiões.
Divisões dinâmicas
Novas versões do pacote de firmware removem a maioria dos start_*.elf
arquivos, deixando apenas start.elf
e start_cd.elf
(também fixup*.elf
arquivos onde adicionados). A partir de agora, você não precisa escolher manualmente corretamente start_*.file
. Em vez disso, você deve usar gpu_mem*
opções no config.txt
arquivo para escolher quanta memória vai para a GPU. A memória restante será alocada para o ARM. Deve ser possível usar um número arbitrário no seguinte intervalo para essas opções:
**512MB of RAM**: 16M-448M
**256MB of RAM**: 16M-192M
Embora não haja valores de divisão codificados no momento, a maioria das informações para o restante desta resposta ainda deve ser válida quando você está tentando determinar quanta memória deve ser alocada para a GPU.
start_cd.elf
e fixup_cd.elf
arquivos são versões de corte dos respectivos arquivos, usados somente quando gpu_mem=16
.
Usando um cartão SD na versão de 256 e 512 MB
Se você estiver usando uma imagem de cartão SD para diferentes versões do RaspberryPi, poderá usar gpu_mem_256
e gpu_mem_512
opções. O primeiro será usado apenas na versão de 256 MB, enquanto o segundo apenas na versão de 512 MB da placa.