- Как узнать загрузку процессора и памяти в Linux — команда vmstat
- Как нужно оценивать производительность?
- Синтаксис команды vmstat
- Опции vmstat
- Примеры использования vmstat
- Заключение
- Как проверить использование памяти в Linux
- free команда
- top команда
- /proc/meminfo
- ps_mem Скрипт
- Выводы
- Команда Free (свободная оперативная память) в Linux
- Free Command in Linux
- Сколько свободной оперативной памяти мне доступно в моей системе Linux? Достаточно ли свободной памяти для установки и запуска новых приложений?
- Как использовать Free команду
- Отображение использования памяти в удобочитаемом формате
- Отображение использования памяти в других метриках
- Отображение итогов в столбце
- Постоянно печатать вывод
- Вывод
Как узнать загрузку процессора и памяти в Linux — команда vmstat
Производительность (или непроизводительность) систем очень сложно оценивать «на глаз» или даже с секундомером. Ведь даже если это и получится, то из виду будут упущены ключевые детали, предоставляющие информацию о том, почему производительность может быть именно такой, а не больше (или меньше). Для выяснения причин стоит углубиться в анализ этой самой производительности более основательно. И для этих целей существуют специализированные утилиты, одной из которых является vmstat – довольно популярный инструмент (после команды top разве что), которым пользуются многие системные администраторы Linux.
Как нужно оценивать производительность?
Вообще, производительность и/или быстродействие — величины постоянные только для конкретного (и довольно короткого) промежутка времени для конкретной системы. Для более объективной оценки необходимо проводить многочисленные «замеры» в разное время в течении довольно длительного (месяц и более) периода.
Немаловажно и то, что анализ следует проводить без использования всевозможных «синтетических» тестов — т. е. только в условиях реальной и пиковой нагрузки, возникающей во время реальный задач, предусмотренных техпроцессом, регламентом в рамках реальной «производственной» необходимости. Очень часто именно в таких условиях можно выявить ошибки в конфигурации системы, приводящие к ограничениям в использовании программно-аппаратных ресурсов.
Синтаксис команды vmstat
Утилитой vmstat можно анализировать не только использование процессора, но также память — оперативную и/или дисковую. Синтаксис команды следующий:
Основными аргументами являются delay – время (в секундах), в течение которого следует производить замер, а также count – количество замеров или отчётов. Если дать команду vmstat без указания количества замеров, то она будет выводить отчёты, пока не будет прервано её выполнение сочетанием клавиш .
Вывод vmstat разбит на столбцы, которые объединены в следующие категории:
- procs – информация о процессах;
- memory – состояние оперативной памяти;
- swap – состояние виртуальной памяти (раздел или файл подкачки);
- io – активность устройств хранения (диски, флешки и т. д.);
- system – общая активность системы;
- cpu – использование центрального процессора.
Как уже было отмечено выше, эти категории объединяют колонки из вывода vmstat по соответствующему типу информации. Стоит рассмотреть их по отдельности. Для раздела procs:
- r – количество процессов в обрабатываемой процессором очереди;
- b – количество процессов, стоящих в очереди на выполнение операций ввода/вывода.
Для раздела memory:
- free – размер свободной памяти. То же значение, которое определяется командой free;
- swpd – количество блоков, которые были перемещены в Swap;
- buff – буферы памяти;
- cache – кеш памяти.
- si – общее количество блоков, считываемых системой из Swap;
- so – общее количество блоков, перемещаемых системой в Swap.
- bi – количество блоков в секунду, считываемых с диска;
- bo – количество блоков в секунду, записанных на диск.
- in – частота (количество в секунду) системных прерываний;
- cs – частота переключений между задачами.
- us – используемое (в процентах) время для выполнения «пользовательских» (т. е. не принадлежащих ядру) задач;
- sy — используемое (в процентах) время для выполнения задач ядра;
- id – время (в процентах) в простое;
- wa — время (в процентах), отведённое на ожидание операций ввода/вывода.
Опции vmstat
Доступные для vmstat опции приведены в следующей таблице:
Опция | Назначение |
-a, — active | Выводит активную и неактивную память. Доступно начиная с ядра версии 2.5.41 и выше. |
-f, — forks | Выводит количество системных вызовов fork, vfork и rfork, а также страниц виртуальной памяти, используемых этими вызовами. |
-m, — slabs | Количество используемой динамической памяти для ядра. |
-n, —one-header | Отображает заголовок таблицы результатов только один раз, а не периодически. |
-s, — stats | Переключение режима отображения вывода. |
-d, — disk | Выводит статистику использования диска. |
-w | Для больших объёмов данных увеличивает визуально ширину столбцов. |
-p, — partition device | Выводит статистику использования раздела. Необходимо указывать раздел device. |
-S, —unit character | Выводит статистику в указанных единицах [k, K, m, M] – в килобитах, килобайтах, мегабитах и мегабайтах соответственно. |
— t, —timestamp | Добавлять к выводу время замеров. |
— D, —disk-sum | Выводит общую статистику по использованию дисков. |
Примеры использования vmstat
Несмотря на то, что опции vmstat и позволяют получить ценные сведения, однако в большинстве случаев системные администраторы их практически не используют. Чаще всего использование vmstat сводится к следующему (что вполне достаточно):
Вообще, сервер общего назначения считается хорошо отбалансирован в плане нагрузки, если около 50% времени он тратит на обработку пользовательских задач и ещё столько же — на работу системных вызовов, взаимодействующих с ядром. Простои в системе должны быть — это потенциал для увеличения нагрузки, но в то же время они (простои) не должны быть слишком большими — это значит, что мощности сервера расходуются впустую.
Из приведённого примера следует, что центральный процессор практически постоянно переключается между высоконагруженными режимами и периодами почти полного простоя. Таким образом, можно сделать вывод, что необходима настройка используемого в работе сервера ПО и системной конфигурации для более равномерного распределения нагрузки.
Заключение
Как можно видеть, даже без использования графических приложений с графиками и диаграммами, обычная команда vmstat способна дать наглядную картину происходящего, касающегося использования ресурсов системы. Ну а самые объективные и достоверные результаты анализа производительности могут зависеть от применяемой для каждого конкретного случая методики.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Как проверить использование памяти в Linux
При устранении неполадок, связанных с замедлением работы или неправильным поведением системы или приложений, в первую очередь необходимо проверить использование системной памяти.
В этой статье объясняется, как проверить использование ОЗУ в Linux с помощью нескольких разных команд.
free команда
free — это наиболее часто используемая команда для проверки использования памяти в системе Linux. Он отображает информацию об общей, используемой и свободной памяти.
Как правило, free вызывается с параметром -h что означает печать вывода в удобочитаемом формате:
Вот что означает каждый столбец:
- total — общий объем памяти, который может использоваться приложениями.
- used — Используемая память. Он рассчитывается как: used = total — free — buffers — cache
- бесплатно — Свободная / неиспользуемая память.
- общий — этот столбец можно игнорировать; он показан только для обратной совместимости.
- buff / cache — объединенная память, используемая буферами ядра, а также страничным кешем и блоками. Эта память может быть освобождена в любое время, если это необходимо приложениям.
- available — оценка объема памяти, доступного для запуска новых приложений без подкачки.
Команда free печатает информацию о физической памяти и системном свопе .
top команда
top — это утилита командной строки, отображающая информацию о запущенных процессах в реальном времени. Он также показывает сводку системы, включая использование памяти.
Чтобы вызвать команду, просто введите top :
Результат будет выглядеть примерно так:
Заголовок вывода включает информацию об общей, свободной и используемой физической памяти и памяти подкачки в системе.
Столбец %MEM предоставляет информацию об используемой доле доступной физической памяти для каждого запущенного процесса.
/proc/meminfo
Самый простой способ проверить использование оперативной памяти — отобразить содержимое виртуального файла /proc/meminfo . Этот файл используется командами free , top , ps и другими командами системной информации.
Используйте less или cat для просмотра содержимого файла /proc/meminfo :
Файл включает в себя большой объем информации об использовании системной памяти и подкачки:
Информация из файла /proc/meminfo может быть проанализирована и использована в сценариях оболочки.
ps_mem Скрипт
ps_mem — это скрипт Python, который сообщает об использовании памяти RAM для каждой программы. Он работает как с Python 2, так и с 3 и может быть установлен с помощью pip :
Для ps_mem требуются права администратора:
Вывод будет включать использование памяти каждой запущенной программой в порядке возрастания:
Этот сценарий полезен, когда вы хотите узнать, какая запущенная программа занимает большую часть вашей системной памяти.
Выводы
Мы показали вам несколько команд, которые вы можете использовать для проверки использования системной памяти.
Если у вас есть вопросы или замечания, пожалуйста, оставьте комментарий ниже.
Источник
Команда Free (свободная оперативная память) в Linux
Free Command in Linux
Сколько свободной оперативной памяти мне доступно в моей системе Linux? Достаточно ли свободной памяти для установки и запуска новых приложений?
В системах Linux вы можете использовать free команду для получения подробного отчета об использовании памяти системой.
Команда free предоставляет информацию об общем объеме физической и подкачки памяти, а также о свободной и используемой памяти и пространстве подкачки в системе.
Как использовать Free команду
Синтаксис free команды следующий:
При использовании без какой-либо опции, free команда отобразит информацию о памяти и поменяет местами в кибибайтах. 1 кибибайт (КиБ) составляет 1024 байта.
Вывод будет включать три строки, заголовок, одну строку для памяти и одну для подкачки:
В старых версиях Linux выходные данные могут немного отличаться.
- total — это число представляет собой общий объем памяти, который может использоваться приложениями.
- used — использованная память Он рассчитывается как: used = total — free — buffers — cache
- free — Свободная / Неиспользуемая память.
- shared — этот столбец можно игнорировать, так как он не имеет смысла. Это здесь только для обратной совместимости.
- buff / cache — объединенная память, используемая буферами ядра, кешем страниц и слэбами. / эта память может быть восстановлена в любое время, если это необходимо приложениям. Если вы хотите, чтобы буферы и кеш отображались в двух отдельных столбцах, используйте эту -w опцию.
- available — оценка объема памяти, доступной для запуска новых приложений без замены.
Отображение использования памяти в удобочитаемом формате
Как мы видели в приведенном выше примере, по умолчанию free команда отображает информацию о памяти в кибибайтах. Чтобы просмотреть информацию в удобочитаемом формате (обычно мегабайты и гигабайты), используйте -h параметр:
Отображение использования памяти в других метриках
Команда free также позволяет указать единицу измерения памяти. Допустимые варианты:
- -b , —bytes — Вывести вывод в байтах.
- —kilo — Отображение вывода в килобайтах (1 КБ = 1000 байт).
- —mega — Показать вывод в мегабайтах.
- —giga — Отображение вывода в гигабайтах.
- —tera — Отображение вывода в терабайтах.
- -k , —kibi — Вывести вывод в кибибайтах. (1 КБ = 1024 байт). Это единица по умолчанию.
- -m , —mebi — выход дисплея в Mebibytes.
- -g , —gibi — выход дисплея в gibytes.
- —tebi — Отображать вывод в тебибайтах.
- —peti — Выводить вывод в пебибайтах.
- —si — Вместо 1024 используйте полномочия 1000. Например —mebi —si , равно —mega .
Например, чтобы показать вывод в мегабайтах, вы должны набрать:
Отображение итогов в столбце
Чтобы отобразить строку, отображающую итоги столбца, используйте -t параметр. Это даст вам сумму памяти и поменяет местами общие, использованные и свободные столбцы.
Постоянно печатать вывод
Для того, чтобы непрерывно отображать информацию о памяти об использовании экрана с -s , —seconds варианты с последующим номером , который определяет задержку.
Например, чтобы печатать информацию о памяти каждые пять секунд, вы должны выполнить:
Команда free будет продолжать отображать результат, пока вы не нажмете CTRL+C . Это похоже на поведение watch команды .
Для отображения результата для определенного числа раз использовать -c , —count вариант. В приведенном ниже примере команда напечатает результат десять раз:
Вывод
К настоящему времени вы должны хорошо понимать, как использовать и интерпретировать free команду. Для просмотра всех доступных параметров free командной строки введите man free в своем терминале.
Источник