Bonjour,
Cela fait quelques temps que je regarde ça mais je remarque que Gladys utilise casiment 12Go de ram
Je voulais savoir si cela était normal ou s’il y avait un réel problème quelque part ?
Gladys tourne sous docker sur mon Nas Synology qui possède 20Go de ram.
Merci d’avance
tu as aussi le soucis du coup ?
ou tu confirme que ce n’est pas normal
Mais ça me parait totalement disproportionné !
Chez moi, ça dépasse pas 1Gio de RAM.
On est daccord je ne comprend pas pk gladys prend autant …
@spenceur @VonOx vous avez 200.000 devices ou users ?
On va tenter de checker ce qui pourrait provoquer ça.
1 « J'aime »
Ah ah
Meme pas xD
On a moyen de savoir quel process consome autant inside un container ?
La commandetop
ou htop
permet de voir les processus qui tournent et leur consommation en ressource.
Htop me renvoie rien mais top me renvoie cela
Je precise que je nai quune camera ^^’
Voila ce que ça donne sans caméra pour moi.
Tu aurais le reste des lignes sans ffmpeg ?
Tu peux faire top -b -n 1 -H
et copier toutes les lignes.
Ça fait exécuter top en mode bash, une seule fois.
Pardon pour la reponse tardive
DiskStation:~$ sudo docker exec -it d7e940abe7b2 top -b -n 1 -H
Password:
Mem: 20013216K used, 315520K free, 178668K shrd, 267568K buff, 5973012K cached
CPU: 5% usr 11% sys 0% nic 83% idle 0% io 0% irq 0% sirq
Load average: 1.83 3.86 3.78 2/3317 22026
PID PPID USER STAT VSZ %VSZ CPU %CPU COMMAND
22021 0 root R 1712 0% 2 8% top -b -n 1 -H
27 20 root S 20.5g 103% 1 0% node index.js
30 20 root S 20.5g 103% 3 0% node index.js
32 20 root S 20.5g 103% 3 0% node index.js
31 20 root S 20.5g 103% 0 0% node index.js
29 20 root S 20.5g 103% 0 0% node index.js
36 20 root S 20.5g 103% 1 0% node index.js
34 20 root S 20.5g 103% 0 0% node index.js
35 20 root S 20.5g 103% 1 0% node index.js
37 20 root S 20.5g 103% 0 0% node index.js
33 20 root S 20.5g 103% 1 0% node index.js
28 20 root S 20.5g 103% 3 0% node index.js
1 0 root S 313m 2% 3 0% npm run start:prod
14 0 root S 313m 2% 3 0% {node} npm run start:prod
11 0 root S 313m 2% 1 0% {node} npm run start:prod
12 0 root S 313m 2% 0 0% {node} npm run start:prod
13 0 root S 313m 2% 1 0% {node} npm run start:prod
19 0 root S 313m 2% 3 0% npm run start:prod
18 0 root S 313m 2% 3 0% npm run start:prod
15 0 root S 313m 2% 0 0% {node} npm run start:prod
16 0 root S 313m 2% 3 0% npm run start:prod
10 0 root S 313m 2% 2 0% {node} npm run start:prod
17 0 root S 313m 2% 3 0% npm run start:prod
20 1 root S 257m 1% 3 0% node /src/server/node_modules/.bin/cross-env NODE_ENV=production node index.js
25 1 root S 257m 1% 3 0% node /src/server/node_modules/.bin/cross-env NODE_ENV=production node index.js
24 1 root S 257m 1% 3 0% node /src/server/node_modules/.bin/cross-env NODE_ENV=production node index.js
26 1 root S 257m 1% 1 0% node /src/server/node_modules/.bin/cross-env NODE_ENV=production node index.js
21 1 root S 257m 1% 1 0% node /src/server/node_modules/.bin/cross-env NODE_ENV=production node index.js
22 1 root S 257m 1% 3 0% node /src/server/node_modules/.bin/cross-env NODE_ENV=production node index.js
23 1 root S 257m 1% 3 0% node /src/server/node_modules/.bin/cross-env NODE_ENV=production node index.js
Jai viré LES ligneS liées a la camera
Merci a toi pour la commande
Ce qui m’embête c’est que cet utilitaire affiche semble t il uniquement la mémoire virtuelle utilisée.
On va essayer autre chose. Cette commande installe une version plus graphique et avancée de top
(à écrire dans ton conteneur Gladys).
apk add -u htop ; htop -s PERCENT_MEM --tree --readonly
Voilà ce que ça donne chez moi :
Je viens de tester une commande bien plus clair.
- Se connecter au conteneur Gladys
- Executer
node --expose-gc
- Coller le code suivant (source)
const formatMemoryUsage = (data) => `${Math.round(data / 1024 / 1024 * 100) / 100} MB`;
const memoryData = process.memoryUsage();
const memoryUsage = {
rss: `${formatMemoryUsage(memoryData.rss)} -> Resident Set Size - total memory allocated for the process execution`,
heapTotal: `${formatMemoryUsage(memoryData.heapTotal)} -> total size of the allocated heap`,
heapUsed: `${formatMemoryUsage(memoryData.heapUsed)} -> actual memory used during the execution`,
external: `${formatMemoryUsage(memoryData.external)} -> V8 external memory`,
};
console.log(memoryUsage);
Résultat :
Maintenant je ne suis pas sur que ça prenne en compte les process Gladys, à confirmer avec ton retour.
Sur htop on dirait pas que ton instance utilise plus de ram que moi. Tu es 100% sur que la ram est majoritairement utilisée par Gladys et pas les services de ton NAS ?
Pour info la mémoire virtuelle n’a pas de lien avec la mémoire physique d’après un commentaire sur le github de nodejs.
Ce que tu vois sur l’image plus haute c’est les info du container gladys.
Pas du nas
Alors une idées ? @lmilcent, @pierre-gilles
:S