Haute utilisation de la memory mais aucun process ne l'utilise

Je cours free -m sur une machine virtuelle debian tournant sur Hyper-V:

  total used free shared buffers cached Mem: 10017 9475 541 147 34 909 -/+ buffers/cache: 8531 1485 Swap: 1905 0 1905 

Donc, sur mes 10 Go de memory, 8,5 Go sont utilisés et seulement 1500 Mo sont gratuits (à l'exception du cache).

Mais j'ai du mal à find ce qui utilise la memory. La sortie de ps aux | awk '{sum+=$6} END {print sum / 1024}' ps aux | awk '{sum+=$6} END {print sum / 1024}' , qui est censé additionner l'utilisation de RSS est:

 1005.2 

En d'autres termes, mes process utilisent seulement 1 Go de memory, mais le système dans son set (à l'exception du cache) utilise 8,5 Go.

Quel pourrait être l'utilisation de l'autre 7,5 Go?

ps: J'ai un autre server avec une configuration similaire qui montre utilisé mem de 1200 (mem gratuit = 8.8GB) et la sum de l'utilisation de RSS dans ps est 900 qui est plus proche de ce que je m'attendais …


MODIFIER

cat /proc/meminfo sur la machine 1 (memory insuffisante):

 MemTotal: 10257656 kB MemFree: 395840 kB MemAvailable: 1428508 kB Buffers: 162640 kB Cached: 1173040 kB SwapCached: 176 kB Active: 1810200 kB Inactive: 476668 kB Active(anon): 942816 kB Inactive(anon): 176184 kB Active(file): 867384 kB Inactive(file): 300484 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 1951740 kB SwapFree: 1951528 kB Dirty: 16 kB Writeback: 0 kB AnonPages: 951016 kB Mapped: 224388 kB Shmem: 167820 kB Slab: 86464 kB SReclaimable: 67488 kB SUnreclaim: 18976 kB KernelStack: 6736 kB PageTables: 13728 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 7080568 kB Committed_AS: 1893156 kB VmallocTotal: 34359738367 kB VmallocUsed: 62284 kB VmallocChunk: 34359672552 kB HardwareCorrupted: 0 kB AnonHugePages: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 67520 kB DirectMap2M: 10418176 kB 

cat /proc/meminfo sur la machine 2 (utilisation normale de la memory):

 MemTotal: 12326128 kB MemFree: 8895188 kB MemAvailable: 10947592 kB Buffers: 191548 kB Cached: 2188088 kB SwapCached: 0 kB Active: 2890128 kB Inactive: 350360 kB Active(anon): 1018116 kB Inactive(anon): 33320 kB Active(file): 1872012 kB Inactive(file): 317040 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 3442684 kB SwapFree: 3442684 kB Dirty: 44 kB Writeback: 0 kB AnonPages: 860880 kB Mapped: 204680 kB Shmem: 190588 kB Slab: 86812 kB SReclaimable: 64556 kB SUnreclaim: 22256 kB KernelStack: 10576 kB PageTables: 11924 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 9605748 kB Committed_AS: 1753476 kB VmallocTotal: 34359738367 kB VmallocUsed: 62708 kB VmallocChunk: 34359671804 kB HardwareCorrupted: 0 kB AnonHugePages: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 63424 kB DirectMap2M: 12519424 kB 

Je comprends que vous utilisez Hyper-V, mais les concepts sont similaires. Peut-être que cela vous mettra sur la bonne voie.

Votre problème est probablement dû à la memory virtuelle, une technique utilisée par l'hyperviseur pour optimiser la memory. Voir ce lien pour une description

J'ai observé exactement les mêmes symptômes avec mes machines virtuelles dans vSphere. Une machine 4G avec rien en cours d'exécution rapporterait 30M utilisé par le cache, mais sur 3G "utilisé" dans la ligne "- / + tampons".

Voici un exemple de sortie de la command statistics de VMWare. Cela montre à quel point la 3G est affectée à ma quantité «utilisée»:

 vmware-toolbox-cmd stat balloon 3264 MB 

Dans mon cas, un peu évidemment, mon chauffeur de ballon utilisait ~ 3G

Je ne suis pas sûr de ce que la command similaire dans Hyper-V est d'get vos statistics de ballon, mais je suis sûr que vous obtiendrez des résultats similaires

https://serverfault.com/questions/85470/meaning-of-the-buffers-cache-line-in-the-output-of-free

Réponse courte: le kernel utilise les tampons / la memory cache pour diverses tâches, telles que la caching des files. Cette memory est disponible pour les applications si cela est nécessaire, vous avez donc raison de dire que vous avez 944 Mo utilisés.