Яка різниця між загальною та вільною пам'яттю


12

У мене є настільна система, де встановлено Centos 7. Він має 4 ядра та 12 ГБ пам'яті. Для того, щоб знайти інформацію про пам'ять, я використовую free -hкоманду. У мене одна плутанина.

[user@xyz-hi ~]$ free -h
              total        used        free      shared  buff/cache   available
Mem:            11G        4.6G        231M         94M        6.8G        6.6G
Swap:          3.9G        104M        3.8G

У загальній колонці, це говорить про те, що всього в 11 Гб (це правильно), в останньому наявному стовпці говориться, що 6,6 ГБ та використаний - 4,6 Г.

Якщо використана пам'ять становить 4,6 ГБ, то залишок повинен становити 6,4 ГБ (11-4,6 = 6,4). Яка правильна інтерпретація вищезазначеного результату Яка різниця між загальною та доступною та вільною пам'яттю? Чи є у мене пам’ять вище випадку, якщо мені потрібно 1 Гб більше для нового додатка?


тож ваше запитання стосується того, чому це 6,6, а не 6,4?
αԋɱҽԃ αмєяιcαη

1
це запитання триває багато десятиліть .. Як ви посилаєтесь на пам'ять, яка зараз використовується як кеш, але "доступна чи безкоштовна". тобто. він містить дані з диска і, таким чином, є "кешем" при необхідності; але доступний для додатків, якщо вони malloc (). різниця, про яку ви турбуєтесь, корисна, щоб повідомити нам, скільки пам’яті використовується цим «куди поставити це значення», і обговорюється кожні кілька років з 80-х років. це не змінюється, залишаючись таким, як це було завжди (annoying.figure корисно! А те, що незмінним, не означає, що ми повинні змінювати старі сценарії десятиліттями, які ним користуються)
guiverc

Відповіді:


15

man free команда вирішити мою проблему.

DESCRIPTION
       free  displays the total amount of free and used physical and swap mem‐
       ory in the system, as well as the buffers and caches used by  the  ker‐
       nel.  The  information  is  gathered by parsing /proc/meminfo. The dis‐
       played columns are:

       total  Total installed memory (MemTotal and SwapTotal in /proc/meminfo)

       used   Used memory (calculated as total - free - buffers - cache)

       free   Unused memory (MemFree and SwapFree in /proc/meminfo)

       shared Memory used (mostly) by tmpfs (Shmem in /proc/meminfo, available
              on kernels 2.6.32, displayed as zero if not available)

       buffers
              Memory used by kernel buffers (Buffers in /proc/meminfo)

       cache  Memory  used  by  the  page  cache and slabs (Cached and Slab in
              /proc/meminfo)

       buff/cache
              Sum of buffers and cache

       available
              Estimation of how much memory  is  available  for  starting  new
              applications,  without swapping. Unlike the data provided by the
              cache or free fields, this field takes into account  page  cache
              and also that not all reclaimable memory slabs will be reclaimed
              due to items being in use (MemAvailable in /proc/meminfo, avail‐
              able on kernels 3.14, emulated on kernels 2.6.27+, otherwise the
              same as free)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.