реальное использование памяти

15

если я правильно понимаю, в следующем выводе free 3535m - фактическая свободная память, доступная приложениям, используется только 413m, это правильно? нужно уточнить разницу между строкой Mem и - / + buffers / cache.

бесплатно -m
             общее количество использованных свободных общих буферов в кеше
Памятка: 3949 3854 95 0 9 3431
- / + буферы / кэш: 413 3535
Своп: 2047 1322 725

источник

Ответы:

16

Mem: totalЦифра общий объем оперативной памяти , которые могут использоваться приложениями. Это общий объем оперативной памяти, установленной в системе, за вычетом:

  • память, зарезервированная аппаратными устройствами (часто видеопамять, если графическая карта не имеет собственной оперативной памяти);
  • память, используемая самим ядром.

Эта сумма включает в себя:

  • free: память, которая в настоящее время используется для любых целей;
  • shared: концепция, которая больше не существует Он остается в выходных данных для обратной совместимости (есть сценарии, которые анализируют выходные данные free). (В современных системах вы, как правило, видите ненулевые значения, потому что sharedон был перенастроен для отображения памяти, которая явно используется совместно с помощью механизма разделяемой памяти . В более старых системах он включал файлы, отображаемые более чем одним процессом, и разделяемую память, которая оставалась общей после fork().)
  • buffers: память, которая поддерживается файлами и может быть записана на диск при необходимости;
  • cache: память, которая поддерживается файлами, и которая может быть восстановлена ​​в любое время (разница в buffersтом, что буферы должны быть сохранены на диск перед повторным использованием, тогда как кэш состоит из вещей, которые можно перезагрузить с диска);
  • used -buffers/cache: память, используемая приложениями (и не выгруженная для обмена).

В крайнем случае, система могла работать без буферов и кеша, резервируя оперативную память для приложений и систематически выполняя чтение и запись на диск без какого-либо кэширования. Эти -/+ buffers/cacheцифры показывают , объем оперативной памяти , используемый непосредственно приложения ( usedколонки) и объем оперативной памяти не используется приложения ( freeколонка).

Хотя это может сильно варьироваться, исправная система обычно имеет около половины ОЗУ, предназначенной для приложений, и половину - для буферов и кеша. Если вы не используете выделенный файловый сервер, ваша система имеет больше оперативной памяти, чем нужно для того, что вы в данный момент делаете. Если бы этот free - buffers/cacheпоказатель был низким, это указывало бы на то, что в системе недостаточно ОЗУ (вопреки распространенному мнению, наличие большого объема памяти, выделенной для буферов и кеша, важно для производительности системы, а попытка зарезервировать больше памяти для приложений) сделать 99,99% систем медленнее).

swapЛиния проста, она показывает размер подкачки , который находится в использовании (либо приложениями или для tmpfsхранения), а также сумму , которая не является.

Жиль "ТАК - перестань быть злым"
источник
1
«общий доступ
Мариша
3

Да, ты прав. Буферы и кеш используются ОС, но доступны для приложений сразу. ОС готова сделать недействительным и выбросить часть кэша, чтобы удовлетворить следующий запрос памяти.

п. местоимения м.
источник