Raspberry pi Zero 2W

Bonjour,

J’ai un pi Zero 2 W distant qui part en OOM (Out Of Memory), dans ce cas là, Jeedom et Ssh sont inaccessibles.

Je constate que BLEA / JeeCron / APACHE / MariaDB sont les processus les plus consommateurs, au lancement tout va bien mais passé quelques heures les processus grossissent (j’en suis à un reboot automatique toutes les 12 H).

J’aimerai, si c’est possible, mettre en place un script arrêt relance dans le bon ordre pour tous ces services si la mémoire dépasse un certain seuil d’usage.

Je pense commencer par stopper Apache, puis MySql (MariaDB) mais je voulais arrêter les appels JeeCron et BLEA entre temps.

Savez vous comment je pourrais faire en ligne de commande pour JeeCron.php et BLEA ?
Existe-t-il un moyen de faire un restart de Jeedom (web, services, base de données) sans passer par un reboot ?

Merci à tous de vos commentaires et solutions.

Bonjour.

Cette carte n’est pas assez puissante pour faire tourner un Jeedom et blea est en plus un gros consommateur de ressources.

Si vous voulez persister dans votre idée, vous devriez pouvoir faire un script planifié hors Jeedom, directement su la partie OS de cette machine.

2 « J'aime »

Bonjour,

Arrêtez Maria db et apache ?
Déjà en générale stopper un service pour le redémarrer n’est pas une solution mais un contournement (temporaire) du problème mais là ça n’a plus aucun sens, ça va couper jeedom complètement du coup même pas sur que ça soit mieux que juste faire le reboot.

A mon avis de base le pi zero (même la version 2) n’est juste pas assez puissant pour faire tourner un apache et un serveur web

Merci pour l’info, mais quels seraient les services à arrêter / relancer pour faire ça proprement sans passer par un reboot ?

Le problème du reboot, c’est que ça pourrait couper la sauvegarde complète (tunnel vpn vers une freebox distante). Donc si je pouvais couper le jeedom pendant la sauvegarde je ne m’en porterai que mieux. Un avis sur la bonne façon de faire ?

Merci

Merci Fabrice, c’est bien ce que j’essaie de faire un script hors jeedom qui coupe jeedom le temps de la sauvegarde.

ci dessous les infos de la conso mémoire avant un OOM, je vois jeeCron qui s’empilent.

------------------------------------------------------------------
Top Memory Consuming Processes Using ps command version 2
------------------------------------------------------------------
    PID USER    %MEM COMMAND
103156 www-data  6.4 php /var/www/html/core/class/../php/jeeCron.php cron_id=8
103197 www-data  5.8 php /var/www/html/core/class/../php/jeeCron.php cron_id=9
    542 root      5.7 /usr/bin/python3 /usr/bin/fail2ban-server -xf start
102790 www-data  4.0 /usr/sbin/apache2 -k start
102745 www-data  4.0 /usr/sbin/apache2 -k start
102603 www-data  3.9 /usr/sbin/apache2 -k start
  90222 www-data  3.5 /usr/sbin/apache2 -k start
  78032 www-data  3.5 /usr/sbin/apache2 -k start
  26126 root      2.8 /usr/bin/atop -R -w /var/log/atop/atop_20220813 600
    665 root      2.2 /usr/sbin/apache2 -k start
    552 root      2.1 /usr/bin/python3 /usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-for-signal
103260 www-data  1.6 php /var/www/html/core/class/../php/jeeCron.php cron_id=12
103226 www-data  1.6 php /var/www/html/core/class/../php/jeeCron.php cron_id=10
103241 www-data  1.5 php /var/www/html/core/class/../php/jeeCron.php cron_id=11
      1 root      1.3 /sbin/init
    139 root      1.2 /lib/systemd/systemd-journald
  8119 mysql    10.7 /usr/sbin/mariadbd
  26357 root      0.8 /usr/libexec/packagekitd
103229 root      0.7 sudo ping -n -c 1 -t 255 8.8.8.8
  1334 maison    0.7 (sd-pam)
    197 root      0.7 /lib/systemd/systemd-udevd
103224 root      0.6 systemctl status apache2
  1348 maison    0.6 -bash
    472 root      0.5 /usr/sbin/rsyslogd -n -iNONE
    952 root      0.5 /usr/sbin/openvpn --daemon ovpn-Paris --status /run/openvpn/Paris.status 10 --cd /etc/openvpn --config /etc/openvpn/Paris.conf --writepid /run/openvpn/Paris.pid
    948 ntp      0.5 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 109:115
103261 maison    0.5 ps -o pid,user,%mem,command ax
  1333 maison    0.5 /lib/systemd/systemd --user
    484 root      0.5 /lib/systemd/systemd-logind
103103 root      0.5 /bin/bash /home/maison/Scripts/reboot.sh
103101 maison    0.5 /bin/bash /home/maison/Scripts/memory-alert-1.sh
    568 root      0.4 wpa_supplicant -B -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0
    551 root      0.4 /usr/sbin/ModemManager
    809 root      0.4 /usr/libexec/bluetooth/bluetoothd
    570 root      0.4 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
    491 root      0.4 /sbin/wpa_supplicant -u -s -O /run/wpa_supplicant
    429 root      0.4 /sbin/auditd
  1057 root      0.4 /bin/login -f
    452 avahi    0.4 avahi-daemon: running [pi-iam.local]
    488 nobody    0.3 /usr/sbin/thd --triggers /etc/triggerhappy/triggers.d/ --socket /run/thd.socket --user nobody --deviceglob /dev/input/event*
  1302 Debian-+  0.3 /usr/sbin/exim4 -bd -q30m
    950 root      0.3 /usr/sbin/dhcpcd -w -q
    453 root      0.3 /usr/sbin/cron -f
    492 daemon    0.3 /usr/sbin/atd -f
103259 maison    0.3 /bin/bash /home/maison/Scripts/memory-alert-1.sh
    519 root      0.2 /usr/sbin/rngd -r /dev/hwrng
  26121 root      0.2 /usr/sbin/atopacctd
    457 root      0.2 /usr/libexec/polkitd --no-debug
    454 message+  0.2 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
103247 root      0.1 /usr/local/lib/python3.9/dist-packages/bluepy/bluepy-helper 0
103263 maison    0.1 sort -b -k3 -r
103223 root      0.1 sh -c systemctl status apache2
103228 www-data  0.1 sh -c sudo ping -n -c 1 -t 255 8.8.8.8 2>&1 > /dev/null
103210 root      0.1 ping -c 5 192.168.20.1
103102 root      0.1 /bin/sh -c /home/maison/Scripts/reboot.sh
------------------------------------------------------------------

Merci de vos commentaires / retours…

Veuillez mettre les logs dans une balise Texte préformaté comme ceci sinon c’est illisible:

saisissez ou collez du code ici

sinon moi j’ai déjà donné mon avis, il n’y a pas de bonne façon de faire ce que vous voulez, ce n’est pas une solution.

Et même si vous arrivez à mettre quelque chose en place, en cas de changement dans jeedom ou autre dans quelques versions votre contournement ne fonctionnera plus.

Ça ne veut rien dire: ce sont toutes des tâches jeedom differentes, vous aurez forcément plusieurs process jeecron qui tournent.

BLEA a tendance à consommer pas mal. Il y avait un soucis notamment avec bluepy qui est peut-être encore d’actualité : Problème d’utilisation CPU avec bluepy-he+. C’est pourquoi, n’ayant que peu d’équipements, je suis passé par des scripts mais c’est plus galère.

Une option pourrait être de passer par Theengs qui supporte beaucoup d’objets (mais ça demande de passer par de la ligne de commande, il faut être un peu à l’aise), ou peut-être mieux encore de déporter la gestion du bluetooth sur un esp32 : Antenne Bluetooth avec un ESP32, Open MQTT Gateway et jMQTT. Peut-être que ça donnera un peu d’air, parce que c’est pas hyper puissant un Pi Zero 2.

2 « J'aime »

Bonjour,
Le sujet a un peu plus d’un mois mais j’apporte mon retour d’expérience.
J’utilise Jeedom sur un PI2W depuis le début d’année.

J’ai également constaté rapidement que la RAM allait faire défaut.
Cela se traduisait également par un freeze (plus d’accès web/ssh).

J’ai donc limité le nombre de plugin au strict minimum
Et j’ai augmenté la SWAP à 2048.

Depuis, Jeedom tourne bien mais je reste limité de mon exploration :slight_smile:

J’attends le retour des RPI4 et la baisse des prix pour aller plus loin