Если вы хотите узнать подробную информацию об использовании памяти в системе Linux, команда free – это простая утилита, которая позволяет легко находить результаты в реальном времени для различных вариантов использования.
Объясняя вывод команды Free в Linux
Использовать команду Free в Linux довольно просто. Вот синтаксис для команды:
free [options]
Пример вывода для команды free может выглядеть следующим образом:
root@andreyex:~# free total used free shared buff/cache available Mem: 3079996 2122312 413020 54620 544664 727008 Swap: 0 0 0
Команда free без параметров возвращает результаты для ‘total’, ‘used’, and ‘free’ объема памяти в вашей системе благодаря доступу к информации из ядра Linux. Она также отображает категории для ‘shared’, ‘buff/cache’, и ‘available’.
Чтобы избежать некоторой путаницы, давайте уточним, что означают эти термины.
- Total. Эта цифра представляет всю существующую память.
- Used вычисление общего значения оперативной памяти системы за вычетом выделенной свободной, разделяемой, буферной и кэш-памяти.
- Free – это память, которая не используется ни для каких целей.
- Shared, Buffer, и Cache идентифицируют память, используемую для нужд ядра / операционной системы. Буфер и кеш складываются вместе, а сумма указывается в разделе «buff/cache».
- Available память появляется в более новых версиях free и предназначена для того, чтобы дать конечному пользователю оценку того, сколько ресурсов памяти все еще открыто для использования.
Эти уточнения важны. Неправильное присвоение значения терминам «свободная или используемая память» может привести к неправильному пониманию использования памяти вашей системой.
Это может привести к тому, что неопытный пользователь будет ложно полагать, что его система нуждается в обновлении с увеличением ОЗУ. Обратите внимание, что в предыдущих версиях не было отображения доступной памяти. Пользователи могут ошибочно полагать, что из-за высокого использования памяти их аппаратное обеспечение недостаточно мощное. Предполагается, что доступная вкладка была создана, чтобы помочь компенсировать это распространенное недоразумение.
Операционная система Linux использует кэширование для повышения производительности. В общих чертах это означает, что определенный объем памяти отводится для использования до того, как он понадобится, чтобы он мог обрабатываться быстрее. Это стандартный процесс, и вам не о чем беспокоиться, если значения не кажутся очень необычными для вашего текущего использования.
Оценка «доступной» памяти, вероятно, достаточна для того, кто просто хочет знать, как их система реагирует на определенные приложения. Если вы не можете увидеть это поле, вам может потребоваться обновить ее до последней версии. Вы можете проверить текущую версию, запустив «free -V». Наша версия 3.3.15 имеет «free» в своем выводе.
Настройка вывода команды free
Вывод по умолчанию отображает информацию в килобайтах, но есть варианты для отображения в разных форматах, если вы предпочитаете. Запуск справки (free -help) отображает все возможные варианты, которые вы можете добавить.
На наш взгляд, наиболее полезная опция здесь -h, которая показывает вывод команды free в удобочитаемом формате.
root@andreyex:~# free -h total used free shared buff/cache available Mem: 2.9G 2.2G 156M 53M 558M 484M Swap: 0B 0B 0B
Есть другие варианты. Они показывают ту же самую запрошенную информацию с некоторыми основными математическими преобразованиями. Мы думаем, что удобочитаемый вариант (free -h) является одним из наиболее эффективных для обычного пользователя.
Автоматизируйте команду free и запускайте ее непрерывно или периодически
Еще одна отличная особенность – возможность автоматизировать команду. Есть два варианта, которые помогают нам настроить этот инструмент:
- Есть параметр ‘-s’, которая запускает команду free в течение заданного интервала секунд, пока пользователь не закроет программу (^ + C).
- Существует также «-c», который можно использовать отдельно или в сочетании с параметром секунд. Если вы введете только «-c» и целое число (n), команда будет запускаться n раз. По умолчанию используются интервалы в одну секунду.
Допустим, вы хотите открыть серию приложений и посмотреть, как влияет ваша память. Для тестового вывода мы будем использовать читаемый человеком формат, используя степени 1000 (Gb) вместо 1024 (GiB). Мы собираемся записать в течение 20 секунд, чтобы проанализировать воздействие. Мы собираем данные каждые 5 секунд, и будем делать это за 4 цикла. Вот этот пример, отформатированный для командной строки и ее вывода:
root@andreyex:~# free -h --si -s 5 -c 4 total used free shared buff/cache available Mem: 2.9G 2.8G 156M 50M 380M 402M Swap: 0B 0B 0B total used free shared buff/cache available Mem: 2.9G 2.8G 156M 50M 380M 402M Swap: 0B 0B 0B total used free shared buff/cache available Mem: 2.9G 2.9G 100M 54M 390M 401M Swap: 0B 0B 0B total used free shared buff/cache available Mem: 2.9G 3.0G 98M 55M 390M 400M Swap: 0B 0B 0B
Мы подождали несколько секунд, а затем открыли несколько вкладок браузера и получил доступ к некоторым закладкам. Стресс этих видов деятельности отмечен колебаниями объема производства. Обратите внимание, что эффект будет более выраженным при использовании выходного формата с меньшим округлением. В наших чисто демонстрационных целях это не нужно.
Если вы хотите постоянно отслеживать использование памяти командой free, но не хотите, чтобы ее вывод загромождал экран, вы можете использовать команду watch вместе с командой free.
Это покажет вам только один вывод для команды free, но этот вывод будет изменяться через регулярные промежутки времени.
watch free -h
Заключение
В этой статье показано, как начать использовать команду «free» в Linux. Надеюсь, вы найдете эту статью полезной и простой для понимания. «free» может использоваться для анализа использования системной памяти и может быть изменbyf с помощью различных опций для точной настройки вывода для ваших нужд.
Если у вас есть какие-либо вопросы или предложения, пожалуйста, сообщите нам об этом в разделе комментариев.