Raspberry Pi tiene solo 256 MB de RAM, por lo que me gustaría utilizar el espacio de intercambio (ya sea en la tarjeta SD o en el almacenamiento USB conectado). ¿Cómo lo configuro?
Raspberry Pi tiene solo 256 MB de RAM, por lo que me gustaría utilizar el espacio de intercambio (ya sea en la tarjeta SD o en el almacenamiento USB conectado). ¿Cómo lo configuro?
Respuestas:
Raspbian utiliza dphys-swapfile , que es una solución basada en archivos de intercambio en lugar de la solución basada en la partición de intercambio "estándar". Es mucho más fácil cambiar el tamaño del intercambio.
El archivo de configuración es:
/etc/dphys-swapfile
El contenido es muy simple. Por defecto, mi Raspbian tiene 100 MB de intercambio:
CONF_SWAPSIZE=100
Si desea cambiar el tamaño, debe modificar el número y reiniciar dphys-swapfile:
/etc/init.d/dphys-swapfile restart
Editar: en Raspbian, la ubicación predeterminada es / var / swap, que (por supuesto) se encuentra en la tarjeta SD. Creo que es una mala idea, por lo que me gustaría señalar que / etc / dphys-swapfile también puede tener la siguiente opción: CONF_SWAPFILE = / media / btsync / swapfile
Solo tengo un problema, el almacenamiento usb está montado automáticamente, por lo que una carrera potencial aquí (automount vs. swapon)
/var/swap
es una mala idea?
Puede configurar el espacio de intercambio de manera bastante simple. Por ejemplo, si su unidad USB es /dev/sdx
, usaría (debe ser root para esto):
$ mkswap /dev/sdx
$ swapon /dev/sdx
Tenga en cuenta que esto usaría todo el dispositivo y probablemente perderá todos los datos existentes en él.
También puede crear un archivo de intercambio (mediante un loop
dispositivo) como este:
$ dd if=/dev/zero of=/path/to/swapfile bs=1M count=1024 # For 1GB swap file
$ mkswap /path/to/swapfile
$ swapon /path/to/swapfile
Cuando ya no necesite el archivo de intercambio (por ejemplo, si desea expulsar la unidad USB), debe usarlo swapoff <device>
. No hacerlo probablemente provocará un bloqueo del sistema.
Sin embargo, debes tener cuidado . Las tarjetas SD tienen límites de lectura / escritura limitados y acortará su vida útil. Si está utilizando un disco duro externo, debería estar bien, pero será muy lento.
mkswap
en su partición raíz. Creo que sdx
es una buena convención.
No hagas esto en absoluto.
Usted debe no permita el intercambio en la Raspberry Pi.
Aunque es posible, no es útil. Incluso en una tarjeta SDHC de clase 10, es demasiado lenta. También reducirá la vida útil de la tarjeta SD.
En cualquier dispositivo de almacenamiento basado en flash (tarjeta SD, SDD, memorias USB) también es probable que vea pausas en todo el sistema mientras se borra un gran grupo de bloques de flash.
Posibles excepciones:
Raspbmc utiliza /etc/init/swap.conf
para configurar el intercambio a través de / archivo de intercambio. Primero comprueba la presencia de /home/pi/.enable_swap
.
Si elimina /home/pi/.enable_swap
, el archivo de intercambio no se crea, y luego vuelva a crearlo touch /home/pi/.enable_swap
si necesita activar el intercambio y reiniciar.
Es una pena que Raspberry Pis no tenga GigaBit Ethernet, pero al menos es teóricamente posible tener espacio de intercambio en un dispositivo de red: el Proyecto Terminal Server de Linux puede ofrecerlo desde el servidor a los clientes de acuerdo con este elemento en su wiki .
Encontré un tema del Foro de la Fundación "Sugerencia: intercambiar sobre nfs" que muestra cómo alguien que ya tenía algunos montajes NFS ya instalados usó un archivo de intercambio en uno de ellos y lo montó a través de un montaje en bucle (posiblemente necesario porque Linux no permite un Montaje NFS para ser utilizado directamente). Dado que el intercambio de archivos remoto será contener datos que el sistema operativo no debe perder sólo consideraría esto para una red Ethernet cableada - un enlace inalámbrico sería demasiado frágil en mi humilde opinión. Además, por supuesto, no debe permitir que el servidor remoto se apague sin apagar el intercambio y permitir que se vacíe por completo primero.