Самые полезные утилиты для мониторинга работы Linux

Linux
Статья в основном для начинающих, но и опытные админы возможно найдут новые ключи давно изученных утилит для себя.

1. top — Просмотр активности процессов.
В реальном времени показывает загрузку процессора и памяти, а так же какие процессы собственно и грузят
linux top
По умолчанию обновляется каждые 5 секунд, но можно ускорить если запустить с ключом d
$top -d 2

Можно использовать горячие клавиши:
t Вкл/выкл общей информации
m Вкл/выкл информации о памяти.
A Сортировка по разным столбцам.
f Режим настройки
o Выбор сортировки
r Вызов renice.
k Вызов kill.
z Переключение цветной/чб режим

2. vmstat — Просмотр нагрузки на виртуальную память

С ключом 3, каждые 3 секунды будет снимать статистику
vmstat 3

Вывод примерно такой:
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 0  0      0 312240 164328 243108    0    0     0     4    7   29  0  0 100  0
 0  0      0 312232 164328 243108    0    0     0    21  312  226  0  0 99  1
 0  0      0 312232 164328 243108    0    0     0     1  253  181  0  0 100  0


3. w — Просмотр подключений
Можно посмотреть, кто подключен и что делает. Например

$ w

 20:44:43 up 8 days,  9:10,  1 user,  load average: 0,00, 0,03, 0,00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
admin    pts/0    ad2               19:49    0.00s  0.14s  0.00s w


4. uptime — Просмотр «аптайма»
Посмотреть сколько система работает непрерывно
~$ uptime
 20:47:38 up 8 days,  9:13,  1 user,  load average: 0.01, 0.03, 0.00


5. ps — Displays The Processes
Просмотр процессов. С ключом -А можно вывести все процессы
$ ps -A

  PID TTY          TIME CMD
    1 ?        00:00:12 init
    2 ?        00:00:00 kthreadd
    3 ?        00:00:00 migration/0
    4 ?        00:00:00 ksoftirqd/0
    5 ?        00:00:00 watchdog/0
    6 ?        00:00:00 migration/1
    7 ?        00:00:00 ksoftirqd/1
    8 ?        00:00:00 watchdog/1
    9 ?        00:00:00 events/0
   10 ?        00:00:00 events/1
   11 ?        00:00:00 cpuset
   12 ?        00:00:00 khelper
   13 ?        00:00:00 netns
   14 ?        00:00:00 async/mgr
   15 ?        00:00:00 pm
   17 ?        00:00:00 sync_supers
   18 ?        00:00:00 bdi-default
   19 ?        00:00:00 kintegrityd/0
   20 ?        00:00:00 kintegrityd/1
   21 ?        00:00:00 kblockd/0
   22 ?        00:00:00 kblockd/1
и т.д.

Вывод в расширенном виде
ps -Al

В совсем расширенном виде :)
ps -AlF

С просмотром потоков
ps -AlFH

Дерево процессов

$ pstree

init─┬─apache2───6*[apache2]
     ├─asterisk───33*[{asterisk}]
     ├─asterisk───38*[{asterisk}]
     ├─atd
     ├─atftpd
     ├─console-kit-dae───63*[{console-kit-da}]
     ├─cron
     ├─dbus-daemon
     ├─6*[getty]
     ├─inetd
     ├─master─┬─pickup
     │        └─qmgr
     ├─mdadm
     ├─mysqld───10*[{mysqld}]
     ├─nmbd
     ├─nscd───7*[{nscd}]
     ├─postgres───4*[postgres]
     ├─rsyslogd───3*[{rsyslogd}]
     ├─smbd───smbd
     ├─smsd───smsd
     ├─sshd───sshd───sshd───bash───pstree
     ├─udevd───2*[udevd]
     ├─upstart-udev-br
     └─winbindd───3*[winbindd]


6. iostat — Средняя нагрузка на процессор и накопитель
Показывает статистику работы процессора и жесткого диска/другого накопителя
Возможно потребуется установка утилиты sudo apt-get install sysstat
$ iostat

Linux 2.6.32-21-generic-pae (videoconf)         23.09.2010      _i686_  (2 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0,01    0,00    0,02    0,19    0,00   99,77

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               0,87         0,70        14,49     504086   10504256


7. mpstat - Загрузка процессора по ядрам

Утилита для мониторинга мультипроцессорных конфигураций
mpstat -P ALL

inux 2.6.32-21-generic-pae (videoconf)         23.09.2010      _i686_  (2 CPU)

20:56:50     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
20:56:50     all    0,01    0,00    0,02    0,19    0,00    0,00    0,00    0,00   99,77
20:56:50       0    0,02    0,00    0,03    0,31    0,00    0,00    0,00    0,00   99,64
20:56:50       1    0,01    0,00    0,01    0,08    0,00    0,00    0,00    0,00   99,90


8. iptraf — Real-time Network Statistics
iptraf многофункциональный LAN монитор. показывает статистику на сетевых интерфейсах, счетчики TCP, UDP, ICMP, OSPF информацию, ошибки, снифер и прочее.
ipstat linux

9. tcpdump — Детальный анализ TCP траффика
Утилита показывает детальную информацию по траффику, например для просмотра dns запросов
tcpdump -i eth1 'udp port 53'

Посмотреть траффик с ftp 192.168.1.2
tcpdump -i eth1 'dst 192.168.1.2 and (port 21 or 20')

Туда же http траффик
tcpdump -ni eth0 'dst 192.168.1.2 and tcp and port http'


UPD (thanks goes to crazyfile)
10. sensors — Просмотр температуры и вольтажа
Ставим пакет sensord. Для ubuntu например так:
sudo apt-get install sensord

Ищем возможные сенсоры
sudo sensors-detect

Отвечаем на десяток вопросов по добавлению сенсоров. Потом стартуем
sudo /etc/init.d/module-init-tools start

И можем смотреть наши сенсоры
$sensors

coretemp-isa-0000
Adapter: ISA adapter
Core 0:      +28.0°C  (high = +78.0°C, crit = +100.0°C)

coretemp-isa-0001
Adapter: ISA adapter
Core 1:      +30.0°C  (high = +78.0°C, crit = +100.0°C)

3 комментария

avatar
В top у меня любимые клавиши «shift+m» — смотрю хит-парад пожирателей памяти.
Ещё поставил sensors — мониторить температуру/вольтаж.
avatar
Тоже поставил sensors, хорошая штука
avatar
top — htop нагляднее и удобнее будет. От старых привычек надо отходить. Это так же как ifconfig которым я к примеру уже давно не пользуюсь ))
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.