DjLeChuck / recalbox-manager

A web interface to manage recalbox configuration
25 stars 10 forks source link

Valeur de consom RAM incorrecte (tends vers 0 alors qu'il reste de la RAM dispo pour les applications) #79

Closed naparuba closed 6 years ago

naparuba commented 6 years ago

Bonjour,

déjà merci pour ce manager, il est quand même super pratique ^^

J'ai un soucis par contre avec la valeur de mémoire, car ça se base sur celle de nodejs qui est pas bonne on dirait (cf https://stackoverflow.com/questions/20578095/node-js-get-actual-memory-usage-as-a-percent par exemple).

En fait os.freemem ne prends pas en compte les différents caches du système squi sont dispo pour les applications, ce qui fait qu'on tends très rapidement vers un %free à 0% alors que c'est faut.

Je suis intéressé pour le fixer (la supervision c'est un peu mon dada ^^). La méthode que j'utilise pour la mémoire c'est d'aller parser directement /proc/meminfo.

Par exemple sur un de mes outils j'ai ça: https://github.com/naparuba/opsbro/blob/master/data/global-configuration/packs/system/collectors/collector_memory.py#L38

Par contre ça ne fera que linux. Bon vu que c'es recalbox manager et donc linux, je préfère demander quand même si lâcher os.freemem() et passer sur du /proc/meminfo sera ok pour la pull request? :)

Faut juste que je me mette à nodejs pour la pull request, ça aurait été en python ça aurait été un simple copier coller :p

Merci :)

DjLeChuck commented 6 years ago

Hello @naparuba merci pour toutes ces explications et les remerciements !

Je serais toi, je ne m'embêterais pas à regarder corriger ça car, pour information, le manager est en cours de ré-écriture complète et cela ne sera plus en NodeJS mais en Go. Du coup, le problème sera p-e encore présent, je ne sais pas encore je n'ai pas étudié la lib qui me donne les infos du système, mais il faudra dans ce cas le fixer à ce moment là.

Après si tu veux vraiment le faire sur ce manager libre à toi ! J'accepterais avec plaisir une PR. 👍

naparuba commented 6 years ago

Bah je suis chaud pour tester la version go y a pas de soucis ^^

Après est-ce que tu sais si dans la prochaine version de recalbox ça sera déjà la nouvelle en Go qui sera intégrée ou si pendant 1 ou 2 releases ça sera encore celle en js?

Le fixer deux fois c'est pas la mort non plus ça ne me pose pas de soucis, j'imagine bien que si la version Go est pas prête pour la prochaine release ça sera encore la js de prise, donc ça a un sens de fixer au moins le js, et tester le Go.

DjLeChuck commented 6 years ago

Oh non elle ne sera pas dans la / les prochaines releases c'est une certitude pour le moment !

Donc tu peux fixer celle en Node si tu veux, cela rendra certains heureux car bcp m'ont remonté le problème comme quoi les données étaient fausses (mais personne n'avait encore regardé pourquoi, merci à toi !)

naparuba commented 6 years ago

Salut,

j'ai fait un petit tour "système" ce soir après m'être vengé de tortue ninja sur nes (merci le rewind...).

On a bien toutes les infos standard dans le /proc/meminfo, et j'arrive même à lancer mon agent de supervision (en python) dessus (comme ça je pourrait comparer les infos).

Vu que là c'est la RAM qui nous intéresse, je me monte une recalbox en VM et je code ça dedans. Dès que c'est bon je te pull request avec ce que j'ai fait et des exemples de captures top et monitoring pour voir qu'on sera OK.

Aller hop, virtualbox puis nodejs ^^

naparuba commented 6 years ago

Hop pull request de dispo :)

et premier commit sur du nodejs pour ma part ^^ youpi 2

DjLeChuck commented 6 years ago

PR mergée, encore merci ! 😄