Мониторинг системы РОСА Linux
Данная статья написана в основном для новичков в Linux. Большинство информации, представленной здесь, может быть найдено в страницах man. Если Вы опытный пользователь Linux — большинство из написанного здесь Вам должно быть знакомо. Так что можете спокойно переходить к другим статьям или же, если хотите проверить свои знания — можете просмотреть мельком. Но а в случае если Вы являетесь новичком в Linux, если Вам нудно читать страницы man и хочется узнать обо все этом побыстрей — эта статья для Вас.
Содержание
Команда: top
Это одна из чаще всего используемых комманд раздела мониторинга системы. Команда top предоставляет информацию о запущенных процессах, включая данные об использовании процессом CPU и памяти, пользователях, запустивших процесс и их pid (Process ID), а также о времени, прошедшем с момента запуска процесса. Данные все время обновляются с определенной частотой (по умолчанию 3 сек). Изменить частоту можно нажав клавишу «s» — ввести нужное число — Enter.
Вывод команды top показан ниже:
Вы можете модифицировать вид выводимой информации. Так, нажав «i» можно отключить вывод неработающих процессов. Повторное нажатие «i» вернет все в прежнее положение. «M» — отсортирует по количеству используемой памяти, а «P» — по использованию процессора. Приведенные опции вводились при запущенной команде top . В дополнение к этому, существуют опции, которые можно вводить при запуске команды. Например, с помощью «u» можно задать вывод только процессов, принадлежащих определенному пользователю:
С помощью опции «k» можно убить процесс, а «r» (renice) изменит его приоритет (колонка PR в выводе команды top). Для того, чтобы выйти из программы, нужно нажать клавишу «q».
Для более подробной информации о системных процессах следует обратиться к псевдофайловой системе /proc . Здесь информация о процессах представлена в виде файлов.
Команда: ps
ps — отображает список запущенных процессов.
По умолчанию информация дается только о процессах, ассоциированных с данным терминалом. Выводятся идентификатор процесса, идентификатор терминала, истраченное к данному моменту время ЦП и имя команды. Если нужна иная информация, следует пользоваться опциями. Следует заметить, что данная команда может работать как в стандартном виде записи опций (-опция), так и в режиме BSD (знака «-» между командой и опцией нет).
Так, чтобы просмотреть информацию о всех запущенных в системе процессах можно воспользоваться как
Обычно используется команда ps axu . Она выдает практически всю информацию о системе.
Вывод команды очень большой. Поэтому я привел лишь начало. Если же нужна информация о запущенных Вами процессах — воспользуйтесь.
В первом случае информация будет выведена в более подробном виде. Обычно данную программу запускают для того, чтобы узнать PID (первая колонка) команды, с последующим ее уничтожением с помощью команды kill -9 .
Команда: free
free показывает информацию о памяти компьютера, включающей в себя физическую память (RAM), swap, разделяемую память и буферы, используемые ядром. Вся информация выдается в килобайтах.
В строке Mem: показано использование физической памяти, в строке Swap: — использование пространства подкачки, а в строке -/+ buffers/cache: — объем физической памяти, выделенный в настоящее время для буферов системы. Команда free выводит лишь единоразово информацию о задействованной памяти. Для того, чтобы просматривать показатели каждые n секунд, нужно воспользоваться опцией -s n, где n — число в секундах. Но это может быть неудобно. Строки пробегают по экрану и человеку тяжело уловить разницу. Поэтому следует воспользоваться командой watch :
Вы можете менять задержку между обновлениями (по умолчанию 2 сек.) с помощью параметра -n или сделать так, чтобы любые отличия результатов выделялись, указав параметр -d, как показано в следующей команде:
Команда: du
du используется для того, чтобы узнать размер директории
Без дополнительных опций команда du выдает список директорий, находящихся в текущей директории, и их размеры. Последняя строка показывает общий размер текущей директории. По умолчанию информация отображается в килобайтах. Во многих случаях это может быть неудобно. Поэтому воспользуемся некоторыми дополнительными опциями.
Размер всей папки — 2Гб. Опция -h задает отображение в более удобном виде.
С помощью опции -a можно задать вывод размера каждого файла. Информация о полном размере вложенных папок также выводится.
Здесь опция -m задает, чтобы размер выводился в мегабайтах, а -c добавляет дополнительную строку, показывающую полный размер директории (итого). Таким образом мы можем воспользоваться командой grep , чтобы оставить лишь информацию о размере директории <<Источник|/home/pastordi/Видео/. Это будет полезно, если директория содержит много вложенных поддиректорий и файлов, а Вам нужно знать лишь ее полный размер. Хотя это можно сделать и проще:
Если же Вам нужно узнать размер директории без входящих в нее директорий, воспользуйтесь опцией -S.
Еще один пример из серии исключений:
Опция —exclude=*.mov — исключает из отображения полной иформации о размере директории /home/pastordi/Видео/ и ее поддиректории файлы, имеющие в своем названии .mov. Поскольку в указанной директории и поддиректориях находятся лишь изображения в формате .mov, все папки занимают 320Мб. Вместо .mov можно вставить любую последовательность символов. Например:
Команда: df
df — показывает информацию об использовании дискового пространства.
Вывод команды df состоит из 6 колонок. Fylesystem — физический раздел, Mounted on — точка монтирования этого раздела, 1K-blocks — размер раздела в килобайтах, Used — сколько занято, Available — свободно, Use% — сколько занято места в процентах.
Как и в случае с командой du , опция -h задает вывод в удобном для человека виде. Обычно это мегабайты и гигабайты. (-m — вывести только в мегабайтах) Команда df имеет и другие опции, но большинство пользователей ограничиваются лишь приведенными, поэтому я их рассматривать не буду. Если Вам интересно знать больше. обратитесь к man df .
Если хочется узнать лишь информацию о том, сколько места в процентах используется на заданном диске, то можно воспользоваться утилитами grep и cut .
Здесь grep из вывода команды df -h вырезает лишь строку, где встречается /dev/sda4 (на этот раздел у меня примонтирована директория /home ), а cut -c40-42 обрезает лишь 40-42 символы строки (именно там находится информация о процентном использовании разделов).
Команда: who
Поскольку операционная система Linux является многопользовательской, количество пользователей компьютера может быть больше чем один. Для того чтобы узнать, кто работает за компьютером в данный момент, и предназначена команда who . Эта команда показывает, кто работает за компьютером, сколько времени прошло с момента, когда он вошел в систему, и когда он это сделал.
С помощью этой команды можно узнать и информацию о себе:
Команда: w
w — это собранный воедино вывод команд uptime , who и ps a для более подробной информации о системе. Для того, чтобы задать информацию для одного пользователя, а не для всех, допишите имя пользователя к команде:
Команда: vmstat
vmstat — показывает информацию о процессах , виртуальной памяти, физических томах и активности ЦПУ . По умолчанию выдается полный список статистики с момента загрузки системы, что не очень полезно с точки зрения анализа ситуации в данный момент. Поэтому, стоит запускать vmstat с аргументом interval, указанным в секундах.
(вывод может отличаться в зависимости от используемой системы)
Каждая последующая линия показывают параметры системы за предыдущие 5 секунд. Рассмотрим поля вывода команды vmstat :
procs — число процессов, которые: r — находятся в очереди на выполнение;
b — заблокированы в ожидании ресурсов.
memory — информация о памяти: swpd — количество используемой виртуальной памяти;
free — незадействованная память; buff — количество памяти, используемой в качестве буфера, cache — в качестве кэш.
swap: si — количество свап-памяти взятой с диска, so — записанной на диск (/s).
IO: bi — количество блоков взятых с блочного устройства (жесткий диск), b0 — отправленных на блочное устройство.
System: in — количество прерываний за секунду, cs — количество контекстных переключений за секунду.
CPU: процент цикла процессора, затрачиваемый на различные режимы: us — пользователь; sy — система; id — ожидание; wa — ввод/вывод.
Команда: iostat
(входит в пакет sysstat).
iostat (input/output statistics) — без аргументов показывает краткую статистику использования процессора и дисковых операций ввода/вывода:
В первой строке представлены версия ядра системы, имя узла и текущая дата. Во второй — усредненная информация использования процессора после загрузки системы. В поле Device — данные использования дисковых устройств (hda и sda):
tps — число операций передачи данных (или операций ввода/вывода) в секунду;
Blk_read/s — число блоков (обычно 512 байт), прочитанных за секунду;
Blk_wrtn/s — число блоков, записанных за секунду;
Blk_read — общее число прочитанных блоков;
Blk_wrtn — общее число записанных блоков.
Если Вам не удобно возиться с блоками, можете воспользоваться ключами -k — для отображения в килобайтах и -m — мегабайтах.
Надеюсь, данный обзор поможет Вам быстро освоиться с работой с основными командами по мониторингу системы Linux. Конечно, здесь рассмотрены не все программы из этой области, но я надеюсь, что для новичка в Linux этого будет вполне достаточно.