Raspberry Pi : comment surveiller et optimiser la RAM

L’une des principales limites des cartes Raspberry Pi est la quantité de mémoire disponible. Les modèles récents offrent jusqu’à 8 Go de RAM, mais ce n’est pas le cas de tous les modèles (la plupart sont limités à 1 Go ou moins). C’est pourquoi il est important de garder un œil sur l’utilisation de la RAM de votre Raspberry Pi.

Avec une interface de bureau, le moyen le plus simple de vérifier l’utilisation actuelle de la RAM est d’utiliser le gestionnaire de tâches. Dans un terminal, la ligne de commande « free » peut vous donner un aperçu de l’état de la mémoire.

Dans cet article, je partage 5 façons de surveiller l’utilisation de la RAM sur votre Raspberry Pi et explique comment analyser les résultats. Je répondrai ensuite à quelques questions fréquentes sur l’utilisation de la mémoire sur Raspberry Pi.

À propos, si vous débutez sur Raspberry Pi et que vous souhaitez accélérer les choses (tout en vous amusant), n’hésitez pas à télécharger mon e-book Maitrisez Raspberry Pi en 30 jours. Il s’agit d’un défi de 30 jours dans lequel vous apprendrez une nouvelle compétence chaque jour. Vous économiserez du temps et de l’argent et pourrez enfin profiter de votre Raspberry Pi à son plein potentiel. Je vous offre d’ailleurs 10% de remise aujourd’hui si vous utilisez ce lien !

5 façons de voir l’utilisation de la RAM sur Raspberry Pi

Gestionnaire de tâches

Sur Raspberry Pi OS « Desktop », un gestionnaire de tâches est disponible sous Accessoires dans le menu principal. C’est le moyen le plus simple de surveiller l’utilisation actuelle de la RAM sur le Raspberry Pi.

Une fois ouvert, vous avez un aperçu direct de l’utilisation du CPU et de la RAM de votre Raspberry Pi.

L’utilisation de la RAM est indiquée sur la droite, avec la quantité de mémoire actuellement utilisée et la quantité de RAM disponible.

Dans cet exemple, j’utilise un Raspberry Pi 4 avec 4 Go de RAM. Un total de 3793 Mo est détecté comme disponible sur le système, et 441 Mo sont actuellement utilisés. Environ 10 % de la RAM est donc utilisée, j’ai beaucoup de marge.

Considérez que tout ordinateur commence à ralentir lorsque la RAM utilisée dépasse 80 %, essayez donc de la maintenir en dessous de ce seuil. Au-dessus de ce seuil, Linux commencera à utiliser la partition swap de votre disque, qui est généralement beaucoup plus lente que la RAM (plus de détails sur la partition swap ici, en anglais).

Vous pouvez trier la liste des tâches en cliquant sur le titre d’une colonne. « RSS » est l’abréviation de « Resident Set Size », qui indique la quantité de RAM allouée à ce processus, c’est-à-dire, en gros, la quantité de RAM utilisée par le processus.

Le RSS n’est pas une mesure précise. Comme vous pouvez le voir sur ma capture d’écran, la somme des valeurs RSS est supérieure au total de la RAM utilisée. C’est parce que le gestionnaire de tâches analyse chaque processus séparément, même s’ils utilisent les mêmes bibliothèques et qu’elles ne sont chargées en mémoire qu’une seule fois.

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Quoi qu’il en soit, cet outil propose plusieurs options dans le sous-menu « View ». Vous pouvez afficher ou masquer les tâches de l’utilisateur root et des autres utilisateurs. Ces options sont désactivées par défaut, mais il peut être nécessaire de les activer pour avoir un aperçu plus précis de l’utilisation de la RAM.

Vous pouvez également choisir d’afficher la commande principale ou la ligne de commande complète avec toutes les options pour avoir une meilleure idée de l’application qui utilise le plus de RAM.

Ligne de commande : free

Sur Raspberry Pi OS Lite, il n’y a pas d’outil graphique. Si vous souhaitez obtenir les mêmes informations en ligne de commande, la commande correspondante est « free ». « Free » donne un aperçu de l’utilisation de la mémoire et de l’espace de pagination d’un système Linux, en la détaillant dans plusieurs colonnes : totale, utilisée, libre, etc.

Voici ce qui s’affiche par défaut :

Vous verrez une ligne pour l’utilisation de la mémoire et une autre pour l’utilisation du swap.

Les différentes colonnes ne sont pas nécessairement faciles à comprendre, alors voici quelques définitions à connaître :

  • Total : la quantité de mémoire disponible.
  • Used : la quantité de mémoire utilisée (total – free – buffers – cache).
  • Free : la mémoire inutilisée.
  • Shared : taille de la mémoire utilisée par plusieurs processus simultanément.
  • Buffers/cache : les deux types de mémoire sont utilisées par votre système pour améliorer les performances.
    Les buffers sont des mémoires temporaires utilisées lors du transfert de données d’un stockage à un autre.
    Le cache est utilisé pour conserver les données fréquemment utilisées par le système.
  • Available : Estimation approximative de la quantité de mémoire dont vous disposez pour de nouvelles tâches.

En général, les seules données que vous consulterez sont celles des colonnes « used » et « available ».

Notez également que « free » est la commande principale, mais que de nombreuses options sont disponibles.
Vous pouvez utiliser le manuel en ligne pour obtenir plus de détails :
man free

Par exemple, free affiche la quantité de mémoire en octets par défaut, mais vous pouvez passer en mégaoctets avec :
free -m
Sinon, utilisez -h pour afficher automatiquement tous les champs dans un format plus lisible :
free -h

Comme vous pouvez le constater, j’obtiens à peu près les mêmes résultats qu’avec le gestionnaire de tâches : 10 à 15 % de la mémoire est utilisée sur mon Raspberry Pi.

Remarque : la commande « free » ne vous indiquera pas les processus consommant le plus de mémoire. Pour les lister, vous pouvez utiliser la commande « ps », avec ces options :
ps ax -o comm,%mem,user,pid --sort=-%mem | head -10
Vous obtiendrez une liste comme celle-ci :
Les données sont similaires à ce que nous obtenons avec le gestionnaire de tâches sur l’environnement de bureau.

Si les commandes Linux ce n’est pas trop votre truc, n’hésitez pas à jeter un œil à cet article qui vous explique les commandes qu’il faut absolument connaître. Je vous donne aussi une antisèche à télécharger pour les avoir toujours sous la main !

Une meilleure solution : htop

« Free » est la commande originale pour vérifier la mémoire sous Linux, mais elle n’est pas vraiment conviviale. « Htop » est un meilleur moyen de garder un œil sur l’utilisation de la RAM, avec des couleurs, des graphiques et une liste des processus consommant le plus de ressources.

J’utilise cette commande tout le temps sur des serveurs Linux et les Raspberry Pi. Même si vous ne disposez pas d’une interface graphique, elle est facile à lire et à comprendre. Les valeurs sont actualisées automatiquement, et vous pouvez trier le tableau en quelques clics.

Vous connaissez peut-être déjà « top », « htop » est juste une version améliorée avec des couleurs et un meilleur affichage général.

Elle est installée par défaut sur Raspberry Pi OS, mais si nécessaire, vous pouvez l’installer avec APT sur toute distribution basée sur Debian :
sudo apt update
sudo apt install htop

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Vous pouvez alors lancer « htop » avec :
htop

En haut de l’écran, vous avez un aperçu de l’utilisation du système. Il y a une ligne pour chaque cœur de CPU (mon Raspberry Pi 4 a 4 cœurs, donc il y a 4 lignes), et l’utilisation actuelle pour chacun. Ensuite, vous avez une ligne (« Mem ») avec l’utilisation actuelle de la mémoire et la même chose pour le swap (« Swp »).

Voici à quoi cela ressemble :

À droite, vous obtenez d’autres informations utiles, comme le nombre de tâches en cours d’exécution, la charge moyenne et le temps de fonctionnement de l’ordinateur (depuis combien de temps le Raspberry Pi est allumé).

Remarque : la charge moyenne (‘Load average ») est une mesure intéressante sous Linux. Il consiste de trois valeurs (moyennes d’une minute, de cinq minutes et de quinze minutes). Plus les valeurs sont élevées, plus le système est chargé. En les comparant, vous pouvez savoir si la charge augmente ou diminue.
Pour l’interpréter simplement, vous pouvez vous dire que votre système fonctionne correctement si les valeurs moyennes restent inférieures au nombre de cœurs disponibles.

La section située sous l’en-tête de « htop » vous donne une liste des processus en cours sur votre système.
Vous obtenez un tableau, actualisé en temps réel avec toutes les informations :

Vous pouvez cliquer sur une colonne (« MEM% » par exemple) pour trier les processus par utilisation de la mémoire. Comme pour l’interface de bureau, on peut voir dans cet exemple que Chromium est l’application qui consomme le plus de RAM.

J’utilise souvent cette commande, même si lorsque j’utilise l’interface graphique. Je la trouve facile à lire, avec tous les détails dont j’ai besoin pour analyser l’utilisation actuelle des ressources ou surveiller une application ou un service spécifique.

Ajouter un widget dans l’interface

Si vous utilisez Raspberry Pi OS « Desktop », il est généralement possible de personnaliser l’apparence, et notamment d’ajouter des widgets dans la barre supérieure.

Une applet est disponible pour afficher l’utilisation du CPU et de la mémoire directement dans le panneau supérieur.
Voici comment ajouter ces informations à votre système :

  • Cliquez avec le bouton droit de la souris sur la barre supérieure de votre écran.
  • Choisissez « Add / Remove Panel Items… »
  • Dans la fenêtre pop-up, cliquez sur le bouton « Add », puis sélectionnez « Resource monitors » :
  • Une nouvelle icône sera ajoutée dans le coin supérieur droit.
    Faites un clic droit dessus pour configurer ce que vous voulez y afficher :
  • Vous pouvez cocher la case « Display RAM usage » pour obtenir un graphique ici.
    Il est rouge par défaut, mais vous pouvez en changer la couleur si vous le souhaitez (en utilisant des couleurs hexadécimales).
  • En outre, si vous passez votre souris sur l’icône, vous obtiendrez les détails :

Ce n’est peut-être pas la meilleure façon de consulter les informations détaillées, mais cela peut être utile si vous voulez savoir rapidement ce qui se passe lorsque votre système ralentit. Si une application ne répond plus, vous pouvez directement vérifier si la mémoire est entièrement utilisée ou s’il y a un autre problème.

Suivi de la consommation de RAM dans le temps

Toutes ces solutions sont excellentes pour obtenir un aperçu rapide de l’utilisation de la RAM, et un bref historique de la RAM utilisée au cours des dernières minutes. Mais elles ne vous seront d’aucune utilité si vous avez besoin de voir la quantité de RAM utilisée par votre Raspberry Pi au cours de la journée ou d’un historique plus étendu sur plusieurs semaines ou mois.

La meilleure façon de surveiller l’utilisation de la RAM sur de longues périodes est d’installer un service qui assurera le suivi des ressources utilisées au fil du temps.
Certains se contentent d’afficher un graphique avec l’historique, d’autres peuvent être configurés pour envoyer des alertes lorsque la mémoire est trop utilisée. Cela dépend vraiment de ce dont vous avez besoin.

Par exemple, Cacti est un bon outil pour conserver un historique de l’utilisation de votre serveur pendant des années. Il affiche un graphique pour chaque ressource surveillée, et vous pouvez faire un zoom avant sur un moment précis de la journée, ou un zoom arrière pour avoir une vue d’ensemble de l’évolution sur une longue période de temps.

Un exemple de graphique sur Cacti

Si vous êtes intéressé par les notifications, Nagios est probablement une meilleure solution.
J’ai écrit un guide étape par étape pour installer Nagios sur Raspberry Pi sur ce site web si vous voulez l’essayer.

Ce sont des solutions assez lourdes, que vous n’utiliserez que sur des serveurs ou pour des besoins spécifiques lorsque vous devez comprendre l’utilisation de la RAM à des moments où vous n’êtes pas disponible pour la vérifier. Les solutions précédentes sont probablement suffisantes pour la plupart des gens.

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Vous voulez discuter avec d'autres passionnés de Raspberry Pi ? Rejoignez la communauté, partagez vos projets en cours et posez vos questions sur le forum (en anglais).

FAQ : utilisation de la RAM sur Raspberry Pi

De quelle quantité de RAM ai-je besoin sur mon Raspberry Pi ?

Raspberry Pi OS est créé pour fonctionner correctement avec seulement 1 Go de RAM. Plus vous avez de RAM, plus vous pouvez faire tourner d’applications simultanément. Et certains projets peuvent également nécessiter plus de mémoire en général (virtualisation, serveurs à fort trafic, etc.).

Pendant longtemps, les modèles Raspberry Pi étaient limités à 1 Go de mémoire ou moins. On ne se posait donc pas vraiment cette question. Mais nous avons maintenant plus de possibilités, avec les versions du Raspberry Pi 4 dotées de 2, 4 ou 8 Go.

Vous ne savez pas quelle version choisir pour vos projets ? Lisez cet article : Raspberry Pi 4 : 8 Go vraiment nécessaire ? (Vs 4 Go).

Qu’est-ce que le Swap sur Raspberry Pi ?

Sur Raspberry Pi et tous les systèmes Linux, l’espace d’échange (swap) est un tampon utilisé lorsque le système a besoin de plus de mémoire, mais que la RAM est déjà pleine. Le noyau déplacera certaines pages de mémoire vers une partition swap, située sur la carte SD.

Sous Raspberry Pi OS, la partition swap est créée par défaut avec 100 Mo d’espace libre, ce qui est assez peu. Mais les cartes SD sont vraiment lentes par rapport à la mémoire, donc avoir plus d’espace swap ne vous sera pas vraiment utile. Votre système deviendra plus lent dès que le système d’exploitation du Raspberry Pi devra utiliser la partition swap pour exécuter des applications.

J’ai écrit un article sur ce site expliquant plus en détail ce qu’est le swap sur les systèmes Linux (en anglais). Vous devriez le lire pour mieux comprendre ce concept important.

Comment trouver le processus qui utilise le plus de RAM ?

Sur un environnement de bureau, le gestionnaire de tâches affiche une liste des processus qui occupent le plus de ressources. Depuis un terminal, la commande « htop » permet d’afficher facilement des données similaires. Les processus peuvent être triés pour identifier celui qui occupe le plus de RAM.

Si vous recherchez une aide supplémentaire pour optimiser votre Raspberry Pi, voici quelques articles de ce site web qui pourraient vous intéresser :

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Ressources supplémentaires pour votre Raspberry Pi

Initiation au Raspberry Pi en vidéo
Si vous débutez et voulez passer rapidement à la vitesse supérieure, j’ai exactement ce qu’il vous faut.
Regardez ma formation vidéo qui vous aidera à démarrer du bon bien, choisir votre matériel, installer les meilleures applications et vous lancer directement dans vos premiers projets avec mon aide.
Regarder les vidéos dès maintenant

Maîtrisez votre Raspberry Pi en 30 jours
Vous avez besoin de plus ? Si vous êtes à la recherche des meilleures astuces pour devenir expert sur Raspberry Pi, ce livre est fait pour vous. Développez vos compétences sous Linux et pratiquez via de nombreux projets en suivant mes guides étape par étape. 10% de remise aujourd’hui !
Télécharger le livre au format PDF ici

Maîtrisez Python sur Raspberry Pi
Pas besoin d’être un génie pour coder quelques lignes pour votre Raspberry Pi.
Je vous apprends juste ce qu’il faut sur Python afin de réaliser n’importe quel projet. La seconde partie du livre est d’ailleurs consacrée à des exemples de projets ou je vous guide pas à pas.
Ne perdez pas de temps, apprenez le strict nécessaire et économisez 10% avec ce lien :
Télécharger maintenant

Autres ressources pour profiter de votre Raspberry Pi
J’ai regroupé toutes mes recommandations de logiciels, sites utiles et de matériel sur cette page de ressources. Je vous invite à la consulter régulièrement pour faire les bons choix et rester à jour.
Visiter les pages ressources


Ce tutoriel ne marche plus à 100%? Prévenez-moi pour que je le mette à jour!

A lire également

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *