Vmstat указывает, что память исчезает

Я хотел профилировать использование памяти скриптом. Вот вывод, прежде чем он был запущен:

procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
0  0  15624 186660  39460 439052    0    0     0     2    1    1  0  0 100  0

Вот выходные данные во время работы скрипта в точке, где свободная память была на самом низком уровне:

procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
0  0  15624  11464  40312 473524    0    0     0     2    1    1  0  0 100  0

Таким образом, объем свободной памяти сократился примерно на 175 МБ, и я ожидал, что бафф увеличится на эту величину. Но, похоже, другие столбцы изменились на относительно незначительные суммы - как это возможно? Я неправильно истолковываю это или просто память не учитывается в этом выводе?

1 ответ

Решение

Некоторая дополнительная память, которая больше не свободна, используется в качестве кэша. Из этой информации мы не можем определить, для чего используется остальная часть памяти, но, скорее всего, это кэши на уровне ядра, такие как метаданные файловой системы. Таким образом, память, которая раньше содержала нечто, что не могло быть полезным, теперь содержит информацию, которая может быть полезной. Так что это показывает, что все становится лучше.

Другие вопросы по тегам