Consommation mémoire de aTVremote

Bonjour
j’utilise le plugins aTVremote en version Beta, mais je constate une utilisation assez conséquente de la mémoire, qui est en croissance et m’amène à relancer Jeedom pour baisser sa consommation. Le re démarrage du plugin et sa désactivation/réactivation ne permet pas de réduire la consommation.

Est-ce qu’il y a une solution pour réduire son empreinte mémoire à chaud ?

Je fais un script sudo pkill -f "aTVremote" et je redémarre le plugin avec un bloc code, mais ce n’est pas très propre je trouve.

Bonjour,

Il utilise de la mémoire oui, et plus vous liez d’équipements et plus il en utilisera.

Mais on voit qu’il n’y a pas de fuite de mémoire puisqu’elle n’augmente pas indéfiniment.

Si vous relancez le démon ça ne suffit pas ?

je n’ai qu’une apple TV (qui n’est branchée et allumée que quelques heure le soir), et la relance du plugin ne change pas la conso mémoire.
Il faut que je tue les process et que je relance pour avoir une vraie baisse.
Ce matin je suis passé de plus de 300Ko de mémoire utilisée à 65Ko après cette procédure.

Ce plugin est un des plus gros en terme d’empreinte mémoire chez moi au bout de quelques heures

300ko c’est pas gros hein :wink:

Mais soit, stop le démon, fait le kill, démarre le démon, alors c’est ce qui fonctionnera le mieux

Ok, je vais continuer à faire cela une fois par jour histoire de redescendre l’empreinte mémoire.

En fait, j’essaye d’optimiser la mémoire pour avoir un uptime le plus long possible et éviter de redémarrer Jeedom trop fréquemment.

Si d’autres veulent le faire, il faut lancer le script puis dans des blocs de code php mettre ceci

// aTVremote
$plugin = plugin::byId('aTVremote');
if (is_object($plugin)) {
    $plugin->setIsEnable(true);
    $plugin->save();
}
if (is_object($plugin)) {
    $plugin->activate();
}

sleep(10);

$info = aTVremote::deamon_info();
if (!isset($info['state']) || $info['state'] != 'ok') {
    aTVremote::deamon_start();
}

si un équipement se désactive, on peut ajouter ceci, où 1234 est l’ID de l’équipement

$equip = eqLogic::byId(1234); // aTVremote : Apple TV du salon
$equip->setIsEnable(1); // 1 pour activer, 0 pour désactiver
$equip->save();
$equip->setIsVisible(1); // 1 pour rendre visible, 0 pour masquer
$equip->save();```

Oui donc tu redémarres juste le démon

En tout cas, dans la page du plugin, on voit bien qu’il est désactivé quand je lance le script pour tuer les process. Et je le redémarre juste après, ce qui fait qu’il n’est coupé que quelques secondes.