Raspberry Pi ne disposant que de 256 Mo de RAM, je souhaite utiliser l’espace de permutation (sur une carte SD ou sur un périphérique de stockage USB connecté). Comment puis-je le configurer?
Raspberry Pi ne disposant que de 256 Mo de RAM, je souhaite utiliser l’espace de permutation (sur une carte SD ou sur un périphérique de stockage USB connecté). Comment puis-je le configurer?
Réponses:
Raspbian utilise dphys-swapfile , une solution basée sur un fichier d'échange plutôt que sur la solution "standard" basée sur une partition d'échange. Il est beaucoup plus facile de changer la taille du swap.
Le fichier de configuration est:
/etc/dphys-swapfile
Le contenu est très simple. Par défaut, mon Raspbian dispose de 100 Mo d’échange:
CONF_SWAPSIZE=100
Si vous souhaitez modifier la taille, vous devez modifier le nombre et redémarrer dphys-swapfile:
/etc/init.d/dphys-swapfile restart
Edit: Sur Raspbian, l’emplacement par défaut est / var / swap, qui est (bien sûr) situé sur la carte SD. Je pense que c'est une mauvaise idée et je tiens à préciser que le fichier / etc / dphys-swapfile peut également avoir l'option suivante: CONF_SWAPFILE = / media / btsync / swapfile
J'ai seulement un problème avec cela, le stockage usb est monté automatiquement, donc une course potentielle ici (montage automatique vs swapon)
/var/swap
est une mauvaise idée?
Vous pouvez configurer un espace d'échange très simplement. Par exemple, si votre clé USB est /dev/sdx
utilisée, vous utiliseriez (vous devez être root pour cela):
$ mkswap /dev/sdx
$ swapon /dev/sdx
Notez que cela utiliserait l’ensemble du périphérique et vous perdrez probablement toutes les données existantes.
Vous pouvez également créer un fichier d'échange (à l'aide d'un loop
périphérique) comme ceci:
$ dd if=/dev/zero of=/path/to/swapfile bs=1M count=1024 # For 1GB swap file
$ mkswap /path/to/swapfile
$ swapon /path/to/swapfile
Lorsque vous n'avez plus besoin du fichier d'échange (si vous souhaitez éjecter le lecteur USB, par exemple), vous devez l'utiliser swapoff <device>
. Ne pas le faire entraînera probablement un plantage du système.
Vous devriez faire attention cependant . Les cartes SD ont des limites de lecture / écriture limitées, ce qui raccourcira sa durée de vie. Si vous utilisez un disque dur externe, ça devrait aller, mais ce sera très lent.
mkswap
sur leur partition racine. Je pense que sdx
c'est une bonne convention.
Ne faites pas ça du tout.
Vous ne devez pas activer l'échange sur le Raspberry Pi.
Bien que ce soit possible, ce n'est pas utile. Même sur une carte SDHC de classe 10, elle est trop lente. Aussi, vous réduirez la durée de vie de la carte SD.
Sur n'importe quel périphérique de stockage à mémoire flash (carte SD, SDD, clés USB), vous risquez également de voir des pauses à l'échelle du système lorsqu'un groupe important de blocs flash est effacé.
Exceptions possibles:
Raspbmc utilise /etc/init/swap.conf
pour configurer l’échange via un fichier / swap. Il vérifie d'abord la présence de /home/pi/.enable_swap
.
Si vous supprimez, le /home/pi/.enable_swap
fichier d'échange n'est pas créé, puis recréez-le simplement touch /home/pi/.enable_swap
si vous devez activer le swap et redémarrer.
Il est dommage que les serveurs Raspberry Pis ne disposent pas d’Ethernet GigaBit, mais il est au moins théoriquement possible d’avoir de l’espace de permutation sur un périphérique réseau - le projet Linux Terminal Server peut l’offrir du serveur aux clients en fonction de cet élément sur leur wiki. .
J'ai trouvé un sujet du forum de la fondation "Conseil: permuter sur nfs" qui montre comment une personne possédant déjà des montages NFS déjà en place utilisait un fichier d'échange sur l'un d'entre eux et le montait via un montage en boucle (éventuellement nécessaire car Linux ne permet pas Montage NFS à utiliser directement). Etant donné que le fichier d'échange distant contiendra des données que le système d'exploitation ne doit pas perdre, je n'envisagerais ceci que pour un réseau Ethernet câblé - une liaison sans fil serait un IMHO trop fragile. En outre, vous ne devez bien sûr pas autoriser l’arrêt du serveur distant sans désactiver le swap et lui permettre de se vider complètement au préalable!