Per impostazione predefinita, il Pi è impostato su 192MiB: 64MiB RAM: divisione VRAM. Dato che non userò il Pi per scopi grafici, vorrei cambiare la divisione per allocare più RAM normale per facilitare l'utilizzo dello swap.
Per impostazione predefinita, il Pi è impostato su 192MiB: 64MiB RAM: divisione VRAM. Dato che non userò il Pi per scopi grafici, vorrei cambiare la divisione per allocare più RAM normale per facilitare l'utilizzo dello swap.
Risposte:
Queste sono le suddivisioni della RAM e per cosa dovrebbero essere usate.
Esistono diversi metodi con cui è possibile gestire la suddivisione della RAM:
È possibile modificare la suddivisione RAM usando questo metodo:
sudo cp /boot/arm[ram-split]_start.elf /boot/start.elf
dove [ram-split]
è la quantità di RAM da allocare alla CPU. Dopo un riavvio verrà applicato il nuovo valore.
L' aggiornamento rpi di Hexxeh supporta anche la modifica della suddivisione della RAM, dovresti correre rpi-update [ram-split]
dove [ram-split]
è la quantità di RAM che vuoi assegnare alla CPU. Dopo il riavvio verrà applicata la divisione.
Il modo migliore è probabilmente usare questo script select4.sh , quindi selezionare la divisione RAM appropriata. Dopo il riavvio, verrà applicata la nuova suddivisione.
#!/bin/bash
##
## Raspberry Pi Memory Split Selector Script v4
## Author: SirLagz
## Website: http://sirlagz.net
##
## The purpose of this script is to make selecting the memory split
## on the RPi easy.
## Simply make this script executable if it's not already, move
## it to the directory with the elf files, and run it with ./select4.sh
## The menu should be pretty self explanatory.
##
cd /boot
clear
list=./*
b128det=0
b192det=0
b224det=0
b240det=0
bdefdet=0
for i in $list
do
case $i in
"./arm128_start.elf") b128det=1;;
"./arm192_start.elf") b192det=1;;
"./arm224_start.elf") b224det=1;;
"./arm240_start.elf") b240det=1;;
"./start.elf") bdefdet=1;;
esac
done
if [[ "$b192det" == "$bdefdet" ]] ; then
if cmp -s arm192_start.elf start.elf; then
current=192
fi
fi
if [[ "$b128det" == "$bdefdet" ]] ; then
if cmp -s arm128_start.elf start.elf; then
current=128
fi
fi
if [[ "$b224det" == "$bdefdet" ]] ; then
if cmp -s arm224_start.elf start.elf; then
current=224
fi
fi
if [[ "$b240det" == "$bdefdet" ]] ; then
if cmp -s arm240_start.elf start.elf; then
current=240
fi
fi
declare -i vram
vram=256-$current
success=1
sysram=`awk '/MemTotal/ { printf("%.0f",$2/1024) }' /proc/meminfo`
echo "##################################"
echo "## Raspberry Pi Memory ##"
echo "## Selector Script ##"
echo "##################################"
echo " Current Memory Split"
echo " CPU $current/$vram VRAM"
echo " Detected System RAM"
echo " $sysram MB"
echo "##################################"
echo "1) Set CPU/VRAM split to 128/128"
echo "2) Set CPU/VRAM split to 192/64"
if [[ "$b240det" == 0 ]] ; then
echo "3) Set CPU/VRAM split to 240/16 (NOT DETECTED. DO NOT USE)"
else
echo "3) Set CPU/VRAM split to 240/16"
fi
if [[ "$b224det" == 1 ]] ; then
echo "4) Set CPU/VRAM split to 224/32"
fi
echo "q) Quit"
echo "Enter Choice:";
read x
case $x in
1)
rm start.elf && cp arm128_start.elf start.elf
newram=128
;;
2)
rm start.elf && cp arm192_start.elf start.elf
newram=192
;;
3)
if [[ "$b240det" == 1 ]] ; then
rm start.elf && cp arm240_start.elf start.elf
newram=240
else
echo "The arm240_start.elf was not detected. Not changing ram split."
success=0
fi
;;
4)
rm start.elf && cp arm224_start.elf start.elf
newram=224
;;
q|Q)
exit 0
;;
*)
$0
;;
esac
if [[ $? -ne 0 ]]; then
echo "Memory Split setting failed"
elif [[ $success == 1 ]]; then
declare -i newvram
newvram=256-$newram
echo "Memory Split set to $newram/$newvram successfully"
fi
for i in $list
do
case $i in
"./arm128_start.elf") b128det=1;;
"./arm192_start.elf") b192det=1;;
"./arm224_start.elf") b224det=1;;
"./arm240_start.elf") b240det=1;;
"./start.elf") bdefdet=1;;
esac
done
if [[ "$bdefdet" -ne 1 ]]; then
$0
echo "=============================================================================="
echo "start.elf not detected. Please check that you have selected a valid ram split."
echo "=============================================================================="
fi
Ecco un link github in caso di marciume del link.
È possibile modificare la suddivisione della memoria utilizzando l' raspi-config
utilità in debian-wheezy o raspbian-wheezy.
Basta eseguire l'utilità: sudo raspi-config
quindi selezionare l'opzione di suddivisione della memoria (è circa l'ottava nell'elenco).
Troppo grande per un commento, ma correlato. Puoi controllare la tua divisione ram eseguendo questo comando
$ sha1sum /boot/*start.elf
a3f72ae7eae537800454de8e4cb231cbd176c0e1 /boot/arm128_start.elf
7784527719031c1c7fce6f72cf3a5c8c23565f24 /boot/arm192_start.elf
82c6be2c9098c0c9c3d71f45bf16c1dc5adfcf08 /boot/arm224_start.elf
82c6be2c9098c0c9c3d71f45bf16c1dc5adfcf08 /boot/start.elf
La divisione è data dal file che ha il checksum corrispondente, quindi nel mio caso lo è 224/32