Vacances au ski = Jeedom en surchauffe… incompréhensible!

Bonjour à tous,

Alors que je profitais de mes vacances au ski dans les Alpes françaises, j’ai reçu le 7 mars une alerte via Telegram m’indiquant une charge élevée de Jeedom ainsi qu’une température processeur anormalement haute.

De retour le 15 mars, j’ai effectué plusieurs investigations sans parvenir à identifier la cause du problème.

Configuration

  • Version Jeedom : 4.5.2
  • Type d’installation : Atlas

À la date du problème

  • Aucun nouvel objet ajouté
  • Aucun scénario modifié
  • Aucune mise à jour système ou plugin
  • Aucun changement matériel

Vérifications effectuées

  • Base de données : OK
  • Santé système : OK
  • Logs : rien d’anormal détecté
  • Charge CPU : élevée sans cause apparente

Plugins installés
Air Quality, Alarme, Alexa, App Mobile, Atlas, AutoLogin, Bluetooth Advertisement, Caméra, CloudSync Pro, Daikin Online Ctrl, DomoGeek, Dyndns, Détection de téléphone (Bluetooth), EnOcean, ESPeasy, Fitbit, Frigate, Fully Kiosk, Geoloc, Google Cast, Google shared locations, Graphique Netatmo, Héliotrope, IFTTT, Impacts de foudre, Infos du Jour, Jardin & Potager, Jeeasy, Jeedom Connect, Jeedom Link, JeeLog, JeeZigbee, jMQTT, kKasa, Mail, MeteoFull, Monitoring, MQTT BLE Scanner, MQTT Manager, MyModbus, MyTado, myWallBox, Netatmo, Netatmo Station, Network, Objets SmartLife/Tuya, Onduleur SMA Sunny Boy, Openvpn, Philips Hue, piHole V6, Scan.Ip, Script, Skoda, SmartMeter P1, SolCast, Speedtest, SSH Manager, Strava, tahomalocalapi, Telegram, Virtuel, Volvo, Watchdog, Weather, Weather Forecast (CAP alerts), Widget, wifilightV2, Wireguard, worxLandroidS, Xiaomi Home, Z-Wave, Z-Wave JS, Zigbee.

Je suis utilisateur de Jeedom depuis plusieurs années.
Suite à des recommandations que j’ai lues, j’ai lancé un script manuel pour vérifier la taille de la base de données, et j’ai effectué un gros nettoyage en améliorant les dates de rétention. Cependant, cela n’a pas permis de résoudre le problème.

Je joins des captures de mon système pour illustrer la situation.

Auriez-vous des pistes pour identifier l’origine de cette surcharge CPU et réduire la charge CPU ?

Merci d’avance pour votre aide.
Benjamin.






Bonjour

Pour vos logs et afin de gagner en lisibilité, il est demandé d’utiliser le formatage ad-hoc (si vous ne connaissez pas voir le lien plus bas). Cela permet de ne pas les tronquer qu’ils soient lisibles et référençables pas le moteur de recherche.

Antoine

1 « J'aime »

Pourriez-vous tester cette commande en SSH, et indiquer le temps qu’elle prend ?

sudo systemctl status apache2

Bonjour,

pour information, il m’est arrivé environ la même chose et je ne m’explique pas tout. Charge de la machine Jeedom :

J’ai pu constater durant ces quelques jours que le processus mariadb utilisait beaucoup de resources et ne sais pas pourquoi. Durant ces quelques jours, j’ai redémarré la machine une fois pour voir comment ça réagirait parce que Jeedom était très lent. Ca n’a rien changé.
Et un beau jour c’est revenu à la normal sans que je ne sache ce qui a généré tout ça.

Peut-être vous arrive-t-il la même chose qu’à moi et il faut juste attendre que ça se calme… ?

S’il m’arrive la même chose à nouveau je regarderai s’il est possible de savoir quelles requêtes sont en cours histoire de connaître l’origine de la montée de charge.

A+
Michel

Bonjour.

@Michel_F utilisez-vous le plugin wifilightV2 ?

Non, j’utilise très peu de plugins :
image

Ok. J’ai été confronté à ce type de problème sur mes 2 box jeedom et en croisant mes analyses, j’ai supposé que le plugin wifilightV2 pouvait créer ce type de problème sur mes installations : j’ai mis en place un redémarrage du daemon une fois par jour et depuis je n’ai plus eu de problème de charge CPU qui s’envole :crossed_fingers:.

Hello,

Tu as accès en SSH ?

Tu as essayé un bete htop pour commencer trié par % de CPU ?

Bonjour,
Cette commande est instantanée.

root@JeedomAtlas:~# sudo systemctl status apache2

● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese>
    Drop-In: /etc/systemd/system/apache2.service.d
             └─privatetmp.conf
     Active: active (running) since Mon 2026-03-30 19:04:42 CEST; 3h 24min ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 1175 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SU>
   Main PID: 1360 (apache2)
      Tasks: 13 (limit: 4463)
     Memory: 123.2M
        CPU: 2h 32min 16.081s
     CGroup: /system.slice/apache2.service
             ├─  1360 /usr/sbin/apache2 -k start
             ├─261465 /usr/sbin/apache2 -k start
             ├─269235 /usr/sbin/apache2 -k start
             ├─290374 /usr/sbin/apache2 -k start
             ├─290456 /usr/sbin/apache2 -k start
             ├─300518 /usr/sbin/apache2 -k start
             ├─303418 /usr/sbin/apache2 -k start
             ├─304967 /usr/sbin/apache2 -k start
             ├─314960 /usr/sbin/apache2 -k start
             ├─335803 /usr/sbin/apache2 -k start
             ├─335855 /usr/sbin/apache2 -k start
lines 1-23...skipping...
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese>
    Drop-In: /etc/systemd/system/apache2.service.d
             └─privatetmp.conf
     Active: active (running) since Mon 2026-03-30 19:04:42 CEST; 3h 24min ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 1175 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SU>
   Main PID: 1360 (apache2)
      Tasks: 13 (limit: 4463)
     Memory: 123.2M
        CPU: 2h 32min 16.081s
     CGroup: /system.slice/apache2.service
             ├─  1360 /usr/sbin/apache2 -k start
             ├─261465 /usr/sbin/apache2 -k start
             ├─269235 /usr/sbin/apache2 -k start
             ├─290374 /usr/sbin/apache2 -k start
             ├─290456 /usr/sbin/apache2 -k start
             ├─300518 /usr/sbin/apache2 -k start
             ├─303418 /usr/sbin/apache2 -k start
             ├─304967 /usr/sbin/apache2 -k start
             ├─314960 /usr/sbin/apache2 -k start
             ├─335803 /usr/sbin/apache2 -k start
             ├─335855 /usr/sbin/apache2 -k start
             ├─335858 /usr/sbin/apache2 -k start
             └─342637 /usr/sbin/apache2 -k start

Mar 30 19:04:42 JeedomAtlas systemd[1]: Started The Apache HTTP Server.
Mar 30 19:44:55 JeedomAtlas sudo[68146]: www-data : PWD=/var/www/html/core/ajax>
Mar 30 19:44:55 JeedomAtlas sudo[68146]: pam_unix(sudo:session): session opened>
Mar 30 19:44:55 JeedomAtlas sudo[68146]: pam_unix(sudo:session): session closed>
Mar 30 21:57:43 JeedomAtlas sudo[290361]: www-data : PWD=/var/www/html/plugins/>
Mar 30 21:57:43 JeedomAtlas sudo[290361]: pam_unix(sudo:session): session opene>
Mar 30 21:57:43 JeedomAtlas sudo[290361]: pam_unix(sudo:session): session close>
Mar 30 22:03:19 JeedomAtlas sudo[300012]: www-data : PWD=/var/www/html/plugins/>
Mar 30 22:03:19 JeedomAtlas sudo[300012]: pam_unix(sudo:session): session opene>
Mar 30 22:03:19 JeedomAtlas sudo[300012]: pam_unix(sudo:session): session close>

Bonsoir,

Je n’ai pas fait de commande SSH. Mais je pense que l’équivalent est integré à jeedom :
Ce qui prends le plus de CPU c’est la database :

    PID    PPID %MEM %CPU CMD
   1211       1 12.5 50.1 /usr/sbin/mariadbd
 269235    1360  0.7 23.3 /usr/sbin/apache2 -k start
   2103       1  0.6  3.0 /var/www/html/plugins/jMQTT/resources/jmqttd/venv/bin/python3 /var/www/html/plugins/jMQTT/resources/jmqttd/jmqttd.py
 342637    1360  0.6  3.0 /usr/sbin/apache2 -k start
 347302  347301  0.1  3.0 sudo ping -n -c 1 -t 255 -W 3 192.168.0.191
 345299    1360  0.6  2.8 /usr/sbin/apache2 -k start
 335855    1360  0.6  2.7 /usr/sbin/apache2 -k start
 290374    1360  0.7  2.5 /usr/sbin/apache2 -k start
 304967    1360  0.6  2.4 /usr/sbin/apache2 -k start
 300518    1360  0.7  2.2 /usr/sbin/apache2 -k start
 335803    1360  0.7  2.2 /usr/sbin/apache2 -k start
 344793       1  1.3  2.2 php /var/www/html/core/class/../php/jeeCron.php cron_id=15
   1989       1  2.1  2.1 node /var/www/html/plugins/espeasy/resources/espeasy.js 192.168.0.100 http://127.0.0.1:80/plugins/espeasy/core/api/jeeEspeasy.php?apikey=syyluBY9a2tLEhnCllyt9hHNx0amxt5x 400
 303418    1360  0.8  2.1 /usr/sbin/apache2 -k start
 290456    1360  0.8  2.0 /usr/sbin/apache2 -k start
 314960    1360  0.8  2.0 /usr/sbin/apache2 -k start
 346784       1  0.8  2.0 php /var/www/html/core/class/../php/jeeCron.php cron_id=30388
   2133    2132  2.6  1.9 /usr/bin/node /var/www/html/plugins/mqtt2/resources/mqtt2d/mqtt2d.js --loglevel error --socketport 55035 --mqtt_server mqtt://192.168.0.31:1883 --username  --password  --callback http://127.0.0.1:80/plugins/mqtt2/core/php/jeeMqtt2.php --apikey QIQKAuXA65UlpA4NyY2Hsxi6HHckmvltZey6DP5hLQ7URrpS5Dl6CgU28rqBiJFO --cycle 0.3 --root_topic jeedom_atlas --pid /tmp/jeedom/mqtt2/deamon.pid
   2544       1  1.6  1.9 /usr/bin/python3 /var/www/html/plugins/xiaomihome/resources/xiaomihomed/xiaomihomed.py --loglevel error --socketport 55019 --callback http://127.0.0.1:80/plugins/xiaomihome/core/php/jeeXiaomiHome.php --apikey DxPs2Q29LFpumKhagMTmk9TNQN53KKhB --cycle 0.05 --pid /tmp/jeedom/xiaomihome/deamon.pid
 347195    1360  0.5  1.6 /usr/sbin/apache2 -k start
 346816       1  0.7  1.5 php /var/www/html/core/class/../php/jeeCron.php cron_id=74885
   2467       1  0.7  1.4 python3 /var/www/html/plugins/tahomalocalapi/resources/tahomalocalapid/tahomalocalapid.py --loglevel error --socketport 55008 --callback http://127.0.0.1:80/plugins/tahomalocalapi/core/php/jeeTahomalocalapi.php --user benjaminrdx@gmail.com --pswd SolfixS0lf1x --apikey 9q7gRPHXFDCDkmKs5rUWH9Bx3fO5BgTdGvWfyxKvLdHO49Nrp0bJ77Q0UahHEnie --pid /tmp/jeedom/tahomalocalapi/tahomalocalapid.pid --pincode 0808-7408-7065 --boxLocalIp 192.168.0.172 --tahoma_token 6956d1429453d44f974f --uuid 74d48a3c-44c5-46da-8fc4-1a65a3b87e08
 335858    1360  0.6  1.4 /usr/sbin/apache2 -k start
 344764       1  1.1  1.0 php /var/www/html/core/class/../php/jeeCron.php cron_id=13
 346890       1  0.7  0.7 php /var/www/html/core/class/../php/jeeCron.php cron_id=191961
   2031       1  1.5  0.6 /usr/bin/python3 /var/www/html/plugins/googlecast/resources/googlecast.py --loglevel debug --socketport 55011 --sockethost 127.0.0.1 --callback http://127.0.0.1:80/plugins/googlecast/core/php/googlecast.api.php --apikey KyHcjlupDacMJksJLVZ1yuVLwhrq2DOQ --ttsweb http://192.168.0.100 --ttslang fr-FR --ttsengine jeedomtts --ttsspeed 1.2 --ttscache 1 --ttsgapikey none --gcttsvoice fr-FR-Standard-A --ttsdefaultrestoretime 1300 --ttsdefaultsilenceduration 300 --daemonname local --cyclefactor 1 --defaultstatus  
    966       1  0.6  0.5 /usr/bin/python3 /usr/bin/fail2ban-server -xf start
      1       0  0.2  0.4 /sbin/init
   2628    2627  4.6  0.4 node --preserve-symlinks server/bin/www.js
     15       2  0.0  0.3 [rcu_preempt]
    586       1  0.3  0.3 /lib/systemd/systemd-journald
    644       1  0.0  0.2 avahi-daemon: running [JeedomAtlas.local]
   1956    1955  0.7  0.2 /usr/bin/python3 /var/www/html/plugins/phone_detection/core/class/../../resources/phone_detectiond/phone_detectiond.py --device hci0 --loglevel debug --apikey E7qvGkte4pc6bcIlvKMBFUswptWDiXvO --pidfile /tmp/jeedom/phone_detection/phone_detectiond.pid --socketport 55009 --sockethost 127.0.0.1 --callback http://127.0.0.1:80/plugins/phone_detection/core/php/phone_detection.php --daemonname local --interval 15 --present_interval 60 --absentThreshold 180
   2188       1  0.9  0.2 php /var/www/html/core/class/../php/jeeCron.php cron_id=77113
    655       1  0.1  0.1 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
   2524    2523  0.8  0.1 /var/www/html/plugins/worxLandroidS/core/class/../../resources/venv/bin/python3 /var/www/html/plugins/worxLandroidS/resources/worxLandroidSd.py --loglevel error --socketport 55073 --callback http://127.0.0.1:80/plugins/worxLandroidS/core/php/jeeworxLandroidS.php --apikey 3Xr04pGo57ZrW9CzWESIDSPmXqPbSteAaTT2MUi8gpmrgDSsNMmvgNih1diQZ8pO --pid /tmp/jeedom/worxLandroidS/daemon.pid --email benjaminrdx@hotmail.be --pswd u3fHPf2pwwaApK7BPsP5
      2       0  0.0  0.0 [kthreadd]

Bonsoir,

C’est interessant car j’ai ce plugin Wifilight.
Je vais le desactiver pour 24H et voir ce que ca raconte…
Je reviens prochainement.

Merci pour l’idée

Vos idées de regarder l’utilisation la plus utilisée m’a donné l’idee de regarder quand le probleme est present.
J’ai créé un scenario et un code PHP :

// Exécuter la commande
$output = shell_exec("ps -eo %cpu,cmd --sort=-%cpu | awk 'NR>1 && NR<=4 {print \$1\"|\"\$2}'");

$output = trim($output);
$lignes = explode("\n", $output);

function getLine($lignes, $index) {
    if (isset($lignes[$index])) {
        $parts = explode("|", $lignes[$index]);
        return trim($parts[0]) . "% - " . trim($parts[1]);
    }
    return "N/A";
}

// Stockage dans le scénario (accessible ailleurs si appelé)
$scenario->setData("Var_Top_CPU_1", getLine($lignes, 0));
$scenario->setData("Var_Top_CPU_2", getLine($lignes, 1));
$scenario->setData("Var_Top_CPU_3", getLine($lignes, 2));

// Log
$scenario->setLog("Top1 : " . $scenario->getData("Var_Top_CPU_1"));
$scenario->setLog("Top2 : " . $scenario->getData("Var_Top_CPU_2"));
$scenario->setLog("Top3 : " . $scenario->getData("Var_Top_CPU_3"));```

Merci de m’avoir parlé du SSH.
Je suis surpris qu’il est activé par defaut et avec des logins et mot de passe documenté en ligne.
Je viens de securiser tout ca avec un mot de passe personnels.
Merci beaucoup !

passwords can be updated by logging in via SSH and using the passwd command. To change the ‹ jeedom › password, run passwd, and to change the ‹ root › password, use sudo passwd root while logged in as jeedom or simply passwd if already logged in as root.

1 « J'aime »

Petit retour après quelques jours…
Le probleme est toujours présent.
J’ai mis a jour Jeedom en V4.5.3 entre temps.

/usr/sbin/mariadbd
/usr/sbin/apache2
php
ffprobe
ffmpeg
gzip

Je pense que je vais juste creer un scenario qui redemarrera la pateforme a partir d un certain treshold.

Merci à ceux qui m’ont aidé.

Peut être regarder du côté des conseils pour néttoyer une grosse DB ; avez vous beaucoup de gros historiques ? il y avait un thread sur le sujet.
c’est comme les db, ça tient on empile on entasse et puis un jour on arrive à la limite.

sinon dans systeme/configuration/os-db vous avez des commandes pour vérifier et nettoyer la db; en plus de l’éventuelle purge des historique

Il est

1 « J'aime »

Merci pour le lien concernant le nettoyage de la base de données.

Cela fait quelque temps que j’ai sauvegardé ce scénario, et j’avais déjà pris des mesures pour réduire la taille de la DB et retirer certains éléments. Il y a d’ailleurs une photo dans mon message initial à ce sujet. :blush:

Je me demande si cette augmentation soudaine pourrait vraiment être liée à une grosse base de données !?
On voit que j’ai récemment effectué un nettoyage, et je suis même en dessous de la valeur d’avant l’augmentation de charge, mais le problème persiste.

Affaire à suivre… ou pas.
Je suis vraiment à court d’idées. :confused: