В данной статье мы собрали утилиты Linux которые будут полезны как системным администраторам таки и DevOps инженерам.
top
Запуск утилиты top
top
В реальном времени отображает все запушенные процессы и ресурсы которые потребляет каждый из процессов.
VIRT — использование виртуальной памяти
RES — физическая память которую использует процесс
SHR — общий объем использованной памяти
S — статус процесса: R — running; S — sleeping, Z — zombie
%CPU — процент используемого времени процессора
%MEM — процент использованной оперативной памяти
TIME+ — время выполнения процесса
COMMAND — название программы, которая инициировала процесс.
Для вывода дополнительных столбцов статистики необходимо нажать клавишу F и выбрать нужное.
Мало кто знает, но в top присутствуют цветовые схемы, для изменения цветовой схемы необходимо нажать кнопку Z.
vmstat
Команда vmstat выводит статистику использования виртуальной памяти. Вывод утилиты разделены на 6 групп.
Запуск утилиты vmstat
vmstat
Procs
- r: количество запущенных процессов.
- b: количество спящих процессов.
Memory
- swpd: объем используемой виртуальной памяти.
- free: объем свободной памяти.
- buff: количество памяти, используемой в качестве буферов.
- cache: объем памяти, используемой в качестве кеша.
Swap
- si: объем памяти, выгруженный с диска.
- so: объем памяти, перенесенный на диск.
IO
- bi: блоки, полученные от блочного устройства (blocks/s).
- bo: блоки, отправленные на блочное устройство (blocks/s).
System
- in: количество прерываний в секунду, включая часы.
- cs: количество переключений контекста в секунду.
CPU
- us: время, потраченное на запуск кода, не относящегося к ядру (время пользователя).
- sy: время, потраченное на выполнение кода ядра (системное время).
- id: время бездействия.
- wa: время, проведенное в ожидании ввода/вывода.
- st: время, украденное из виртуальной машины.
W
Утилиты отображает регистрационное имя пользователя, название терминала, удалённая машина, время регистрации в системе, время простоя, JCPU, PCPU и командную строку его текущего процесса.
Запуск утилиты w
w
uptime
Запуск утилиты uptime
uptime
Утилита выводит информацию о времени работы системы, количестве подключенных пользователей и нагрузки на систему.
ps
Утилита ps выводит список всех процессов пользователя. В первом столбце отображается PID процесса, во втором столбце его наименование, время, а в последнем приложение которое запустило данный процесс. При запуске утилиты выводится краткая информация, для получения подробной информации используются дополнительные команды.
Запуск утилиты ps
ps
Полезные комбинации использования утилиты ps
Подробный вывод информации о запущенных процессах
ps -Al
ps -AlF
Вывод всех процессов запущенных на сервере
ps ax
ps aux
Вывод дерева процессов
ps axjf
pstree
Вывод всех процессов запущенных от определенного пользователя
ps -U root -u root u
Вывод всех PID определенной команды/программы
ps -C nginx -o pid=
pgrep nginx
Вывод имени команды определенного PID
ps -p 100810 -o comm=
free
Утилита free
выводит статистику используемой и свободной памяти сервера. Информацию free
получает из файла /proc/meminfo
– динамически изменяющего в процессе работы системы.
Запуск утилиты free
free
Вывод информации в мегабайтах
free -m
Интервал обновления значений задается через ключ -s и указывается числовое значение равное секундам
free -s 5
pmap
Команда выводит детальную информацию по использованию оперативной памяти процессом.
Запуск утилиты pmap
pmap -d PID
Для того чтобы посмотреть информацию о процессе с PID 100108 необходимо выполнить следующую команду
pmap -d 100108
netstat
Утилита netstat выводит состояние соединений, входящих и исходящих, таблицы маршрутизации, число сетевых интерфейсов и сетевую статистику по портам.
Запуск утилиты netstat
netstat
Вывод всех портов
netstat -a
Вывод всех TCP портов
netstat -at
Вывод всех UDP портов
netstat -au
Статистика по всем портам
netstat -s
Вывод PID и имени приложения которое находится на порте
netstat -p
iptraf
Установка iptraf
apt install iptraf
iptraf — мощная и удобная консольная утилита для мониторинга сети в режиме реального времени. Утилита позволяет видеть статистику сетевых пакетов (прошедших через сетевой интерфейс) по протоколам, статистику сетевых пакетов по их размеру и текущую пропускную способность интерфейса.
tcpdump
Утилита позволяющая проанализировать работу сети на уровне передаваемых сетевых пакетов. По умолчанию при запуске tcpdump производится поиск сетевых интерфейсов и для анализа используется первый найденный.
Запуск tcpdump
tcpdump [-опции] [фильтры]
Пример вывода данные по определенному интерфейсу
tcpdump -i eth0
Вывод определенного типа трафика
tcpdump icmp
Сохранение вывода в файл
tcpdump -i eth0 -w file_name
Файлы /proc/
Для получения информации о процессоре, памяти, точках монтирования достаточно вывести информацию из соответствующих файлов
cat /proc/cpuinfo
cat /proc/meminfo
cat /proc/zoneinfo
cat /proc/mounts