Comment interpréter l'utilisation de la memory top / htop

J'ai une boîte d'htpc / server-ish ubuntu fonctionnant à la maison avec kodi (xbmc) et quelques autres webservices.

J'ai remarqué que Kodi était en retard et ssh'ed dans la boîte pour voir ce qui se passait. J'ai vu cette sortie htop:

entrer la description de l'image ici

C'est la sortie de free-m

richard@RMD-HTPC:~$ free -m total used free shared buffers cached Mem: 7642 7505 137 152 196 1296 -/+ buffers/cache: 6012 1630 Swap: 1905 10 1895 

Comment se fait l'utilisation de la RAM à 6000 de 7600mb dans la capture d'écran à 7505 en libre

Mais quand j'ajoute tous les pourcentages des process uniques dans htop, je vais seulement à environ 22-25%? Ne devrait-il pas être plus élevé?

C'est parce que htop count les tampons et la memory cache comme memory libre, car il peut effectivement être vu de cette façon.

Il n'y a pas de «coût» à avoir des données en memory cache, de sorte que le kernel garde des choses là-bas juste au cas où il aurait besoin par la suite.

Par exemple, supposons que vous ayez regardé une video d'environ 500 Mo, après avoir fermé la video, le kernel peut décider de la garder en memory au lieu de la nettoyer, au cas où vous auriez besoin de cette video pour qu'elle ne soit plus nécessaire encore une fois à partir de votre disque dur lent. Mais ce 500mb peut être considéré comme gratuit, car dès que vous avez besoin de memory pour autre chose, le kernel sera capable d'utiliser cette memory tout de suite.

Ce n'est pas le cas lorsque cette memory est utilisée par un programme en cours d'exécution, car ce programme utilise cette memory immédiatement.

Si vous soustrayez de la memory used les buffers et cached valeurs cached , vous obtiendrez la valeur affichée par htop .

Maintenant, à propos de ce pourcentage, vous avez dit que cela dépend de la façon dont vous l'avez résumé.