Raspberry Pi a une quantité limitée de RAM et il n'est pas possible d'en ajouter plus car il s'agit d'un ordinateur monocarte. Le Pi 3 n'a que 1 Go de RAM. Le Pi 4, selon le modèle, a jusqu'à 8 Go de RAM. Les applications logicielles demandent parfois plus de mémoire. La plupart du temps, cette exigence de mémoire est un bref pic. Lorsque cela se produit, le Raspberry Pi « gèle » ou « plante » en raison de la mémoire limitée. Le crash peut également entraîner la corruption de la carte SD, entraînant une perte de données.

Pour éviter la possibilité d'un crash, la mémoire virtuelle sous forme de swap peut être configurée sur le Pi. La bonne quantité doit être ajoutée sur le bon appareil afin d'en tirer le meilleur parti. L'ensemble du processus est expliqué systématiquement avec des instructions pour différents systèmes d'exploitation.

Comprendre le fonctionnement du processus de mémoire

La RAM est la mémoire physique. Sur le Pi 4, il est situé à côté du processeur. Sur le Pi 3, la RAM est placée sur la face inférieure de la carte de circuit imprimé. Contrairement aux cartes mères classiques, la RAM d'un Raspberry Pi est soudée à la carte, ce qui limite la possibilité d'augmenter sa capacité.

instagram viewer

Lorsqu'une application logicielle est exécutée, elle utilise une partie de la RAM pour son fonctionnement. Pensez à un navigateur comme exemple. Lorsqu'une page Web est chargée dans un onglet, elle stocke les données de la page dans la RAM avec la mémoire nécessaire pour exécuter le programme du navigateur. Lorsque plusieurs onglets sont chargés, la RAM est autant remplie. Sans mémoire virtuelle, à un moment donné, la RAM manquera de capacité et les nouveaux onglets ne pourront pas du tout être chargés. La navigation dans les onglets existants ralentira également considérablement car il n'y a pas de mémoire libre pour les opérations de base. À ce stade, le Pi cessera de répondre et le seul moyen de le ramener est de le rallumer (éteindre et rallumer).

Cet arrêt aléatoire peut entraîner de graves problèmes, en particulier lorsque le système d'exploitation se trouve sur la carte SD. La carte peut être verrouillée à l'état "lecture seule" ou, dans le pire des cas, être complètement corrompue. C'est à ce moment que la perte totale de données se produit.

L'impact de la condition « mémoire insuffisante (OOM) » peut être minimisé en configurant le swap pour qu'il soit utilisé comme mémoire virtuelle. Swap peut être défini sous la forme d'un fichier ou d'une partition sur le disque et fonctionne comme une extension de la RAM. Lorsque la RAM disponible est épuisée, les données rarement utilisées sont déplacées vers l'échange dans un processus appelé échange. Dans le cas de l'exemple du navigateur, il s'agirait des données d'un onglet chargé qui est le moins utilisé. Lorsque l'onglet est réactivé, ces données seront déplacées vers la RAM pour afficher la page Web.

Swap apportera de la stabilité pour les opérations gourmandes en mémoire. S'il y a un bref pic de consommation de mémoire, le swap aidera à absorber le pic et à maintenir le fonctionnement du système au lieu de se retrouver dans un gel total.

Choisir le bon appareil pour configurer Swap

Le swap est essentiel, mais l'emplacement et la taille du swap à configurer sont également tout aussi importants. Idéalement, le swap doit être sur un appareil rapide. Après les caches du processeur, la RAM est la deuxième mémoire la plus rapide. La DDR4 sur le Pi a une bande passante de 4,4 Go/s (gigaoctets par seconde). Swap doit être sur l'un des autres périphériques de stockage disponibles.

Si une carte SD est utilisée pour le système d'exploitation, une petite zone d'échange y est configurée par défaut. Vous pouvez vérifier sa taille à l'aide de la commande :

gratuit -m

99 Mo n'est pas une quantité importante de swap. Il se remplira assez rapidement. Les cartes SD ont des cycles d'écriture limités car elles utilisent de la mémoire flash et un échange excessif pourrait réduire leur durée de vie. En outre, ils ont une faible bande passante d'environ 50 Mbps avec des performances de lecture/écriture de fichiers 4k bien moindres, ce qui est essentiel pour échanger des fichiers plus petits.

Les disques durs contiennent des disques qui tournent. Bien que fiables, ils ont des temps de recherche plus élevés et ne sont pas utiles pour l'échange.

Un SSD pas cher pour le système d'exploitation est un choix raisonnablement meilleur. Les algorithmes de nivellement d'usure réorganisent les données des cellules flash usées et prolongent leur durée de vie. Sur un Pi, la bande passante SSD est d'environ 150 Mbps et a de bien meilleures performances de fichiers 4k par rapport aux cartes SD. La vitesse de recherche est bonne aussi. Mais en utilisant le même disque pour le swap et le fonctionnement simultané des goulots d'étranglement du système d'exploitation. Étant donné que le swap effectue des écritures intensives, le disque peut atteindre le TBW (nombre total d'octets écrits) plus tôt que prévu, en particulier sur les SSD à faible capacité.

Idéalement, le Pi a besoin que son système d'exploitation et son swap soient sur différents disques, un disque de système d'exploitation et un SSD dédié pour le swap. Cela donnerait de la longévité au disque du système d'exploitation et de la vitesse au swap. De plus, la bande passante sera disponible pour les deux simultanément puisqu'il s'agit d'appareils différents.

Comment configurer Swap sur les systèmes d'exploitation Raspberry Pi

La meilleure façon de configurer cela dépend du système d'exploitation utilisé par votre appareil.

Système d'exploitation de bureau (Raspberry Pi OS, Ubuntu Desktop et Ubuntu Mate)

Connectez le SSD à utiliser comme swap à l'aide d'un Adaptateur USB 3.0 vers SATA III et démarrez le Pi. Le processus présenté ici est implémenté sur le système d'exploitation Raspberry Pi et devrait fonctionner aussi bien sur les autres systèmes d'exploitation. Au cas où votre Raspberry Pi OS doit être mis à jour, fais le.

Installez l'outil nécessaire pour gérer les disques à l'aide de l'interface graphique

sudo apt installer utilitaire de disque gnome

Ouvert Disques de Démarrer > Accessoires.

Vous pouvez également utiliser cette commande dans le terminal pour ouvrir l'outil :

disques-gnome

Formatez le SSD depuis le menu.

Créez une partition en utilisant le contrôle avec + symbole

La totalité de la partition peut être allouée au swap, mais un maximum de deux fois la RAM serait suffisant.

Nommez le volume et sélectionnez Autre pour le Type de partition.

Sélectionner Partition d'échange Linux et créez-le.

Vous pouvez le monter tout de suite en cliquant sur le bouton de commande avec le Jouer symbole. Il montera pendant cette session mais ne collera pas aux redémarrages. Il doit être réglé pour monter automatiquement. Clique le Équipement contrôler et sélectionner Modifier les options de montage.

Basculer Valeurs par défaut de la session utilisateur et cliquez D'ACCORD. Authenticate et Disks ajouteront une entrée à /etc/fstab pour le monter à chaque démarrage.

Redémarrez le Pi, ouvrez le terminal et vérifiez la nouvelle taille de swap :

gratuit -m

Paramètre supplémentaire pour le système d'exploitation Raspberry Pi uniquement

Maintenant que le swap est configuré sur un SSD, l'ancien swap n'est plus nécessaire. Vous pouvez le désactiver en modifiant :

sudo nano /etc/dphys-swapfile

Définissez ce paramètre sur zéro :

CONF_SWAPSIZE=0

Système d'exploitation serveur (Ubuntu, Raspberry Pi OS)

Ce processus s'effectue via CLI. Pour plus de facilité, vous pouvez préparer la partition d'échange à l'aide de l'outil Disques sur un autre ordinateur, puis attacher le SSD au Pi et démarrer le serveur. Connectez-vous au Pi en utilisant SSH procéder.

Trouvez la partition d'échange :

lsblk

sda1 c'est. Trouvez l'UUID de cet appareil: sda1

blkid

Copiez le UUID (unique pour vous) et modifiez le fichier fstab pour le monter automatiquement à chaque démarrage :

sudo nano /etc/fstab

Ajoutez cette ligne :

UUID=VOTRE UUID aucun swap sw 0 0

Enregistrez, redémarrez et vérifiez la taille de l'échange :

gratuit -m

Optimisation de l'utilisation de la mémoire virtuelle pour un fonctionnement à l'épreuve des collisions

Le swap configuré doit être utilisé à bon escient. Cela se fait en configurant un paramètre appelé swappiness. Pour trouver la valeur actuelle :

chat proc/sys/vm/échange

Définie sur 60 par défaut, la valeur définit l'agressivité avec laquelle le noyau échange le contenu de la RAM. Il peut être réglé entre 1 et 100. La valeur appropriée dépend de votre besoin spécifique. Si vous voyez que le Pi manque constamment de RAM, réglez-le sur 100. Sinon, réglez-le sur une valeur inférieure. Modifiez ce fichier pour le définir :

sudo nano /etc/sysctl.conf

Ajoutez cette ligne à la fin :

vm.swappiness=100

Mises en garde concernant la surcharge de traitement et le SSD TBW

L'échange d'exploitation nécessite une puissance de traitement, généralement l'un des quatre cœurs du Pi se consacre à l'échange lorsque la RAM est complètement pleine.

Le conseil général qui circule est de ne pas utiliser de SSD pour l'échange, c'est vrai dans le cas où le système d'exploitation (avec les données utilisateur) et l'échange se trouvent sur le même disque. Cela ne s'applique pas dans ce cas lorsque le swap est configuré comme expliqué ici. Bien que le SSD utilisé finira par traverser son TBW et tomber en panne, il peut simplement être remplacé par un nouveau car aucune donnée importante n'y est stockée avec ce processus.

Swap Advantage pour votre Pi

Configurer le droit d'échange est un excellent moyen de rendre le Pi à l'épreuve des collisions. La stabilité est due au fait que la mémoire disponible globale est un facteur plus important que la vitesse de la mémoire pendant l'OOM. Le Pi ne gèlera pas et une fois que le pic d'utilisation aura diminué, il réagira à nouveau plus rapidement.

Raspberry Pi est un petit ordinateur doté d'une grande flexibilité. Il peut être utilisé à différentes fins avec divers systèmes d'exploitation légers. Le Pi 4 remplace bien les ordinateurs ordinaires et constitue également un appareil intégré à usage industriel pouvant fonctionner 24h/24 et 7j/7.