Возможный дубликат:
Как можно Я отслеживаю использование памяти?
Я вижу в системном мониторе, использованная память составляет всего 332 МБ, поэтому свободная память составляет ~ 3,4 ГБ, но когда я использую командную строку: free -m
, используемая память составляет 1 ГБ, свободной памяти всего 2,8Гб.
Я использую командную строку: cat / proc / meminfo -> результат тот же бесплатный -m
.
Почему? Кто может мне помочь?
Это все там. Первая строка free
показывает, что буферы занимают 124, кэш 543; 543 + 124 = 667, 1000 - 667 = 333. И это то, что показывает вторая строка free
(фактически 332).
В этом разница между «свободной памятью» и «доступной» памятью. Буферы / кэш могут быть освобождены в любой момент, поэтому они не считаются «недоступной» памятью в системном мониторе, но, строго говоря, они не являются свободной памятью.
С точки зрения пользователя, «доступная» память является более важной. Linux будет максимально использовать буферы / кэш для ускорения системы, но это не означает, что ваша память заполнена и что система замедляется из-за недостатка доступной памяти.
Посмотрите на вторую строку бесплатного вывода на скриншоте. Это помечено как "- / + buffers / cache:"
Где вы найдете эквивалентные значения.
Для получения дополнительной информации см., Например, http://www.redhat.com/advice/tips/meminfo.html
Буферы: память в буферном кеше. в основном это бесполезно в качестве метрики в настоящее время
Cached: память в pagecache (diskcache) минус SwapCache
SwapCache: память, которая когда-то была выгружена, снова обменивается, но все еще также находится в файле подкачки (если требуется память, ее не нужно заменять СНОВА, потому что она уже находится в файле подкачки. Это сохраняет ввод / вывод)
blockquote>