Le RPi lui-même va durer longtemps, je n’ai pas de uptime record enregistré, mais j’ai une caméra sous RPi v1 qui marche 24/7 sans de problème notable. C’est plutôt la caméra qui disparait (device not found), et un reboot, via SSH règle le problème.
Fondamentalement, tout appareil électronique est conçu pour rester allumer en tout temps (et parfois c’est préférable pour la durée de vie de l’appareil).
Sous d’autre projet, sans RPI, j’ai déja eu ce genre de problème (arrêt après X temps). La source est une limitation de la mémoire, une surcharge CPU ou une mauvaise gestion des ressources.
CPU
Le programme démarre parfois des sous processus, avec le temps, il ce peut que des processus qui ne sont plus utilisé reste actif, prenant une partie du CPU. Une mauvaise gestion des processus peut mener à une surcharge du CPU. Souvent dans ce cas de figure le CPU load monte, au point de rendre pénible l’exécution des autres programmes. J’ai déjà eu des cas ou le « lag » du CPU pouvait se compter en minute entre la demande de l’action et l’exécution.
Mais pour n’importe qui, ce comportement donne l’impression que le système ne répond plus.
Pour examiner ce problème, il faut surveiller el système avec htop
, et laisser le système rouler.
RAM / Mémoire
Avec le temps un programme peut surcharger la mémoire, par exemple j’ai des routeurs D-Link (que j’ai eu) qui faut redémarrer au mois, la mémoire ce sature avec le temps et bloque le fonctionnement de l’appareil (reboot physique requis). Certains programme, qui pour la rapidité, charge tout en mémoire et n’utilise pas ou peu d’informations sur disque, va alors encombrer la mémoire d’informations. En comblant l’usage total de la mémoire, il empêche les autres programmes de faire des actions.
Encore la, avec htop
c’est possible de voir l’avancer à ce niveau.
Disque
Moins courant mais possible, le cas de problème avec le stockage.
-
La carte SD rencontre des problèmes, ce déconnecte ou l’accès aux fichiers ne ce fait plus. Vu que Linux charge proprement les processus en mémoire, et utilise peut le disque, il peut fonctionner même si la carte SD n’est plus accessible. Le problème va arriver quand il aura a lire ou écrire sur la carte SD. Vu que plusieurs services écrive dans un log, ces derniers vont planter vu le problème de disque. Un système en Overlay est moins sensible, car rien n’est sauvegardé, juste de la lecture. Mais reste que ce problème est critique.
Certains carte SD (comme disque dur et ssd de mauvaise qualité) peuvent arrêter de fonctionner après un cycle, du a des facteur de qualité, température, sécurité, performances… Il y a des carte SD pour du stockage, d’autre pour des utilisation modéré et d’autres pour des accès exigent.
-
Parfois, c’est la création d’un fichier qui peut bloquer le système. Un log trop gros a gérer est souvent un problème noté. Certaines application, au lieu de « continuer » l’écriture dans un fichier, va garder en mémoire pour l’écrire plus tard (fermeture de l’application). Ou tout simplement qui s’alloue une limite pour écrire et atteint cette limite. Il faut alors changer des valeurs pour réduire la fréquence, voir éliminer ce problème.
3.Si des applications sont dans un dossier utilisateur précis, et que les quota sont activé, avec une limite hard, le système peut bloquer par manque d’espace, même temporaire.
Mais il faut faire de la surveillance, examiner des logs des processus pour cerner le problème. Certain problème sont plus facile a déterminer, d’autres plus complexe. Peut-être examiner si il y a des symptômes avant l’arrêt du système.
Vérifie également ton alimentation électrique, fournir une alimentation trop faible peut perturber le système. Une baisse de tension peut également arrêter le système, sans le redémarrer; trop faible pour un arrêt, mais pas assez fort pour maintenir tout le système actif. Il ce peut que le câble USB pour l’alimentation soit sensible.
J’ai déja aussi vu ce problème avec des routeurs D-Link, LinkSys et ASUS, que je devais redémarrer au mois, après analyse, les routeur son sous Linux et l’appareil charge à 100% sa RAM, ce qui le fait arrêté de travailler.