Linux /proc/meminfo
affiche un certain nombre de statistiques d'utilisation de la mémoire.Comment mesurer de manière fiable la mémoire disponible sous Linux?
MemTotal: 4040732 kB
MemFree: 23160 kB
Buffers: 163340 kB
Cached: 3707080 kB
SwapCached: 0 kB
Active: 1129324 kB
Inactive: 2762912 kB
Il y a pas mal de chevauchement entre eux. Par exemple, pour autant que je sache, il peut y avoir un cache de pages actif (appartenant à "mis en cache" et "actif") et un cache de pages inactif ("inactif" + "mis en cache"). Ce que je veux faire est de mesurer la mémoire «libre», mais de manière à inclure les pages utilisées susceptibles d'être supprimées sans impact significatif sur les performances globales du système. Au début, j'étais enclin à utiliser "free" + "inactive", mais l'utilitaire "libre" de Linux utilise "free" + "caché" dans son affichage "buffer-adjusted", donc je suis curieux de savoir quel meilleur l'approche est.
Lorsque le noyau manque de mémoire, quelle est la priorité des pages à supprimer et quelle est la mesure la plus appropriée pour mesurer la mémoire disponible?
Vérifiez également 'Committed_AS', qui est la taille réelle que le noyau a réellement _promised_ aux processus. Il semble que vous essayez plus de prédire ce qui se passe si vous allouer/verrouiller/utiliser xx octets, compte tenu de l'utilisation actuelle de la mémoire? –
@Tim Post, oui, je n'ai même pas commencé à mettre sur-engagement dans l'image. J'essaie d'obtenir un nombre qui permettra de prédire quand de mauvaises choses commencent à se produire si plus de mémoire est utilisée. –