Встроенные средства мониторинга системы Linux
Встроенные средства мониторинга системы Linux
В статье кратко описаны встроенные средства мониторинга системы Linux, которые пригодятся любому системному администратору.
Для мониторинга и контроля функциональных характеристик Linux-сервера, в большинстве дистрибутивов Linux есть масса встроенных средств. Эти средства измеряют характеристики, которые можно использовать для получения системной информации об активности системы. Также можно воспользоваться этим инструментарием для поиска причин возникновения проблемы с производительностью. Ниже представлены лишь некоторые, самые распространенные команды из большого числа тех, которые применяются при анализе системы и отладке сервера для поиска следующих проблем. Перечисленными ниже инструментами, можно находить: узкие места общего характера, узкие места, связанные с дисковой подсистемой, проблемные места, связанные с процессором и оперативной памятью, а также проблемы связанные с сетью.
top – команда выдачи данных об активности процессов
Программа top динамически выдает в режиме реального времени информации о работающей системе, т.е. о фактической активности процессов. По умолчанию она выдает задачи, наиболее загружающие процессор сервера, и обновляет список каждые пять секунд.
Наиболее часто используемые горячие клавиши
Реклама спонсоров Группа компаний СимТрейд: http://www.sim-trade.ru/numbers/megafon/ — красивые номера Мегафон.
При работе команды top можно воспользоваться следующими полезными горячими клавишами:
t — включение и выключение выдачи на экран суммарных данных.
m — Включение и выключение выдачи на экран информации об использовании памяти.
A — cортировка строк по максимальному потреблению различных системных ресурсов. Полезна для быстрой идентификации задач, для которых в системе не хватает ресурсов.
f — вход в меню интерактивной настройки данных, выдаваемых на экран командой top. Полезна для настройки команды top для выполнения специфической задачи.
o — позволяет вам интерактивно задавать порядок строк, выдаваемой командой top.
r — изменение приоритета процессов с помощью команды renice.
k — удаление процесса с помощью команды kill.
z — переключение между цветным / монохромным вариантом выдачи изображения.
vmstat – активность системы, информация о системе и аппаратных ресурсах
Команда vmstat выдает информационный отчет о активности процессов, памяти, свопинга, поблочного ввода/вывода, прерываний и процессора.
# vmstat 3
Пример вывода данных:
Выдача статистики использования памяти
# vmstat -m
Получение данных об активности / неактивности страниц памяти
# vmstat -a
w – определяем, кто зарегистрирован и что они делают
Команда w выдает информацию о том, какие пользователи сейчас находятся в системе и какие процессы запущены от их имени.
# w username
# w
Пример вывода данных:
uptime – сообщает вам, как долго работает система без перезагрузок
Команду uptime можно использовать с тем, чтобы определить, как долго работает сервер. Выдаются: текущее время, сколько времени работает система, сколько в текущий момент зарегистрировано пользователей и какова средняя нагрузка на систему в последние 1, 5 и 15 минут.
# uptime
Выдаются данные:
18:02:41 up 145 days, 23:45, 2 user, load average: 0.00, 0.00, 0.00
1 можно рассматриваться как оптимальное значение нагрузки. Нагрузка может меняться от системы к системе. Для системы с одним процессором приемлемым может считаться значение от 1 до 3, для мультипроцессорных систем – от 6 до 10.
ps – список процессов
Команда ps выдаст краткий список текущих процессов. Для того, чтобы выбрать все процессы, используете параметр -A или –e:
# ps -A
Пример вывода данных:
PID TTY TIME CMD
1 ? 00:00:02 init
2 ? 00:00:02 migration/0
3 ? 00:00:01 ksoftirqd/0
4 ? 00:00:00 watchdog/0
5 ? 00:00:00 migration/1
6 ? 00:00:15 ksoftirqd/1
…….
12853 ? 00:00:00 cifsoplockd
12854 ? 00:00:00 cifsdnotifyd
14231 ? 00:10:34 lighttpd
14232 ? 00:00:00 php-cgi
54981 pts/0 00:00:00 vim
55465 ? 00:00:00 php-cgi
55546 ? 00:00:00 bind9-snmp-stat
55704 pts/1 00:00:00 ps
Команда ps подобна команде top, но выдает больше информации.
Показать больше данных
# ps -Al включить режим максимальной выдачи данных (будут показаны аргументы командной строки, переданные в процесс)
# ps -AlF показать потоки (LWP и NLWP)
# ps -AlFH показать потоки после процессов
# ps -AlLm Выдать список всех процессов на сервере
# ps ax или # ps axu Выдать дерево процессов
# ps -ejH
# ps axjf
# pstree Выдать информацию о параметрах безопасности
# ps -eo euser,ruser,suser,fuser,f,comm,label
# ps axZ
# ps -eM Показать каждый процесс для пользователя Vivek
# ps -U vivek -u vivek u Настроить выдачу данных в формате, определенном пользователем
# ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
# ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
# ps -eopid,tt,user,fname,tmout,f,wchan
Показывать ID процессов, запущенных под Lighttpd
# ps -C lighttpd -o pid= или # pgrep lighttpd # pgrep -u vivek php-cgi Показать имя для PID 5945
# ps -p 5945 -o comm= Выдать 10 процессов, потребляющих наибольшее количество памяти
# ps -auxf | sort -nr -k 4 | head -10 Выдать 10 процессов, потребляющих наибольший ресурс процессора
# ps -auxf | sort -nr -k 3 | head -10
free – использование памяти
Команда free показывает общее количество свободной и используемой системой физической памяти и памяти swap, а также размеры буферов, используемые ядром.
# free
Пример вывода данных:
iostat – средняя загрузка процессора, активность дисков
Команда iostat выдает статистику использования процессора, а также статистику ввода/вывода для устройств, разделов и сетевых файловых систем (NFS).
# iostat
Пример вывода данных:
Linux 2.6.18-128.1.14.el5 06/26/2009
avg-cpu: %user %nice %system %iowait %steal %idle
3.50 0.09 0.51 0.03 0.00 95.86
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 22.04 31.88 512.03 16193351 260102868
sda1 0.00 0.00 0.00 2166 180
sda2 22.04 31.87 512.03 16189010 260102688
sda3 0.00 0.00 0.00 1615 0
ss – сетевая статистика
Команда ss используется для выдачи в дамп статистики о сокетах. Она позволяет выдавать информацию, аналогичную выдаваемой командой netstat. Подробное описание команд ss и netstat смотрите по следующим ссылкам:
ss: выдача информации о сокетах и сетевых соединениях TCP / UDP
Получение подробной информации о подключениях к конкретным IP адресам с помощью команды netstat
traceroute — трассировка маршрутов
traceroute — это утилита, благодаря которой можно найти на каком участке IP-сети произошел сбой, также ей можно исследовать IP-сети (серверы DNS, маршрутизацию, магистральный канал передачи данных и т.д.)
0