je suis passé récemment d’un oDroid c2 (2Go de RAM) à un N4 4G (4G) et je suis surpris d’y constater des plantages et même une saturation de la mémoire.
Aujourd’hui j’ai fait une analyse en utilisant smem et je vois que c’est le processus python utilisé par XiaomiHome qui me prend une part non négligeable de la mémoire et de la SWAP. Après un restart de ce daemon, la situation redevient normale jusqu’à ce que ça recommence.
Suis-je le seul à constater ceci ? Je suis sur Jeedom 4.3 / Debian 11 / Python 3.9.
Bonjour,
Je confirme avoir également des soucis de consommation mémoire sur debian 11 avec ce plugin (il consommation 24% de la ram de mon pi4) …
Du coup j’ai appliqué la relance du démon toutes les 8 heures et la limitation du fichier RuntimeMaxUse a 200M. (j"ai rajouté un crontab sur le système qui nettoie une fois par semaine le journal)
En complément pour nettoyer les journaux qui faisaient 1.2 G j’ai passé la commande suivante :
sudo journalctl --vacuum-size=200M
Bonjour,
Ce n’est pas vraiment le plugin xiaomihome qui est en cause pour la consommation ram mais plutôt la version de python. J’ai également constaté des fuites mémoire avec les plugins openenocean, broadlink et rfxcom.
La ram est tout à fait stable sous debian 11 avec python en version 3.9.19.
Bonjour
Est-ce une opération simple que de passer de python 3.9.2 à 3.9.19 ?
J’ai également cette baisse régulière de la mémoire.
Merci pour ton retour
Edit :
J’avais une VM en Debian 11 et un Jeedom 4.3.23 (vide) inutilisé et j’ai fait le test.
En SSH, python3.9 --version me retourne 3.9.2
Mon Jeedom étant vide et en 4.3.23 la version de Python n’était pas affichée dans la page santé.
J’ai suivi ce tutoriel
Tout s’est bien déroulé et lorsque je saisis python3.9 – version en SSH j’obtiens bien 3.9.19
J’ai procédé à la mise à jour en 4.4.5, et là la version Python apparait bien sur la page santé, mais en 3.9.2 !!
Alors qu’en SSH il est bien mentionné 3.9.19
Idem au niveau de Jeedom
Quelqu’un pourrait m’expliquer ?
Quelle est la version de Python que Jeedom et ses plugins vont utiliser ?
Est-ce un bug d’affichage de la page santé ?
J’ai suivi le tutoriel mentionné dans mon post.
Comment pourrai-je avoir les 2 versions ?
En SSH ou depuis Administration système de Jeedom, quand je vérifie la version de Python j’ai bien 3.9.19 alors qu’auparavant j’avais 3.9.2
Tout laisse penser que la mise à jour vers 3.9.19 a été faite
Merci pour ton retour.
Effectivement dans le tutoriel que j’avais trouvé il n’était pas fait état de ce lien symbolique et que tu précises dans ta procédure.
Après quant au choix de laisser en l’état, ce n’est pas non plus le Pérou. Si il existe un moyen de stabiliser le système, autant s’appuyer sur les retours d’expériences de certains, car ce n’est pas pour jeter la pierre à qui que ce soit, mais ce n’est pas Jeedom qui donnera des directives liées à la mise à jour de l’OS.
Mais il faut reconnaître que Linux est loin d’être d’une approche simple.
Parce qu’un python 3 qui est en version 3.9.2 et un python 3.9 qui est lui aussi en 3.9.2 et tout ça dans la même distribution, il faut admettre que c’est tout sauf explicite.
Je vais continuer mes tests sur ma VM et j’aviserai.
T’inquiète je comprends … A terme, le mieux serait d’utiliser venv pour ne pas être tributaire de la version de python de Debian…
Le côté rm de la procédure me dérange fortement, car ça veut dire que l’on casse le système de package Debian… En gros, on a python en deb pour satisfaire les dépendances, mais on le switch par un autre.
A la lecture de vos messages, je me sens vraiment moins seul.
Mon système est super stable depuis des années, et depuis le passage en debian 11 pour etre dans les clous en compatibilité officielle coté jeedom, j’ai régulièrement des process killés dans la page santé (j’ai 4go en ram).
J’ai fait le test de redemarrer le demon de xiaomihome, y’a pas photos cela me libère une ram de fou.
Je vois les manip de python, je suis pas contre mais bon je veux pas que ca me foute le bordel à côté.
Mais c’est sur que la stabilité de la ram (meme si je concois que linux aime prendre ce qui est dispo) sans kill de processus me semble primordial.
Je viens de planif un restart du demon 1 fois par jour dans un 1er temps mais bon c’est un cache misère à mes yeux.
EDIT l’historique RAM avant et après upgrade de debian 10 à 11 (le 11 mars)