Différence entre MemFree et MemAvailable

En utilisant Ubuntu 14.02 et en exécutant la commande cat / proc / meminfo, j’obtiens les informations suivantes:

MemTotal: 1007796 kB MemFree: 64248 kB MemAvailable: 64876 kB 

Je voudrais connaître la différence exacte entre MemFree et MemAvailable. Il serait également utile d’indiquer comment utiliser plus efficacement les ressources du système. J’ai un nouvel ordinateur portable en commande, mais pour le moment je développe sur une machine avec 1 Go de RAM.

Note: J’exécutais deux terminaux et éclipse au moment de la commande, vous pouvez donc voir à quel point il est difficile de faire des tâches multiples.

Merci d’avance.

/ proc / meminfo: fournit la mémoire disponible estimée

De nombreux programmes d’équilibrage de charge et de placement de charge de travail vérifient / proc / meminfo pour estimer la quantité de mémoire disponible. Ils le font généralement en ajoutant “libre” et “en cache”, ce qui était correct il y a dix ans, mais il est à peu près assuré que ce sera le cas aujourd’hui.

C’est faux car Cached inclut de la mémoire qui n’est pas libre en tant que cache de page, par exemple des segments de mémoire partagée, tmpfs et ramfs, et n’inclut pas de mémoire de dalle récupérable, beaucoup de fichiers.

Actuellement, la quantité de mémoire disponible pour une nouvelle charge de travail, sans avoir à basculer le système en échange, peut être estimée à partir de MemFree, Active (fichier), Inactive (file) et SReclaimable, ainsi que des filigranes «low» de / proc / zoneinfo.

Cependant, cela peut changer dans le futur, et l’espace utilisateur ne devrait pas vraiment connaître les éléments internes du kernel pour obtenir une estimation de la quantité de mémoire disponible.

Il est plus pratique de fournir une telle estimation dans / proc / meminfo. Si les choses changent dans le futur, il suffit de le changer au même endroit.

Source: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773