Программы слежения за компьютером Linux

Любую операционную систему нужно держать под контролем, время от времени, отслеживать ее параметры, чтобы поддерживать все в нормальном состоянии и избежать возникновения серьезных и непредвиденных ошибок.

Операционная система Linux предлагает для этого множество инструментов. Вы можете отслеживать любые изменения в системе. Начиная от состояния процессора и запущенных процессов и до активности пользователей и состояния жесткого диска.

В этой статье мы рассмотрим программы слежения за компьютером Linux, которые будут полезны любому системному администратору, а также обычным пользователям. Большинство из утилит уже установлены в системе, и все что вам нужно, это только знать как ими пользоваться.

1. Top — просмотр активных процессов

Программа показывает запущенные процессы и их характеристики в реальном времени. По умолчанию отображаются процессы, использующие больше всего ресурсов процессора. Кроме этого, вы можете увидеть в программе сколько она использует памяти, ядер процессора, и время работы процесса. Список обновляется каждые несколько секунд.

monitoring

Давайте рассмотрим несколько горячих клавиш, которые будут вам полезны при работе с утилитой:

  • t — отобразить общую информацию по всей системе;
  • m — отобразить информацию о памяти;
  • A — создает на одном экране несколько топов процессов по максимального потребления ресурсов. Может быть полезным для быстрого выявления самых ресурсоемких процессов;
  • f — выводит интерактивный экран настройки, позволяет быстро найти определенную задачу;
  • o — фильтры процессов;
  • r — выполнить утилиту renice для текущего процесса, позволяет изменить приоритет процесса;
  • k — выполнить утилиту kill для этого процесса;
  • z — отключить цветной вывод.

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

2. vmstat

Эта команда показывает подробную информацию о памяти, процессах, страницах памяти, операциях ввода/вывода и нагрузке на процессор.

 vmstat 3

monitoring1

 

Цифра три, значит, что информация будет выводиться каждые три секунды. В первом отчете содержится вся информация, накопленная с момента запуска системы, во всех последующих за интервал между вызовами утилиты. С полем memory и swap все понятно, они отображают состояние памяти, куда интереснее следующие поля.

Колонка bi показывает количество операций чтения с диска, а bo — вывода на диск. Колонки us и sy показывают загрузку процессора пользовательскими процессами и процессами системы соответственно, id отображает время простоя в процентах, во время ожидания работы диска. Колонки  si и so отображают количество запросов записи и выгрузки страниц из swap.

Сокращение wa обозначает количество операций ввода/вывода, которые ждут своей очереди. В разделе procs, колонка r показывает количество процессов, ждущих своей очереди для выполнения на процессоре, а колонка b показывает процессы ждущие окончания дисковых операций. В колонке system, in — число выполненных прерываний, cs — число переключения контекста процессора в секунду.

3. w — просмотр пользователей

Утилита w позволяет посмотреть что делают другие пользователи сейчас на этом компьютере. Вы увидите время их входа, номер консоли и даже команду, которую выполняет пользователь.

w

monitoring2

 

Здесь первая запись, тот терминал, в котором мы выполнили w, а вторая — другой терминал, в котором просто открыта оболочка bash.

4. uptime

С помощью команды uptime вы можете посмотреть сколько уже работает компьютер или сервер. Кроме того, команда показывает количество вошедших пользователей, а также загрузку системы за 1, 5 и пятнадцать минут до вызова команды:

uptime

monitoring3

Значение загрузки системы чем меньше тем лучше.

5. ps — отображение процессов

Не всем подходит интерактивная утилита top, для некоторых случаев необходимо использовать ps. Чтобы вывести все процессы используйте опцию -A или -e

ps -A

monitoring5

Для получения большего количества информации используйте опцию -l:

ps -Al

monitoring6

Для максимально полного вывода используйте такую команду:

 ps -AlF

monitoring7

Отображаем еще и потоки процессов:

ps -AlFH

monitoring8

Вывести потоки сразу после процессов:

ps -AlLm

monitoring9

Список процессов с потоками в виде дерева:

ps -ejH

monitoring10

Отобразить информацию о безопасности:

ps -eM

monitoring11

Вывести только нужный процесс:

pgrep chromium

monitoring12

Или отобразить только процессы нужного пользователя:

pgrep -u user

monitoring13

6. free — использование памяти

Эта утилита позволяет увидеть информацию о свободной, использованной и кэшированной памяти. а также пространстве подкачки:

free

monitoring14

Или в более понятном формате:

free -h

monitoring15

7. iostat -активность диска

Утилита iostat показывает немного другую информацию. Здесь вы можете увидеть скорость чтения и записи с диска, а также общее количество прочитанных и записанных данных:

iostat

monitoring16

8. sar — активность системы

Утилита sar позволяет собирать и сохранять информацию о работе системы в любое время. Вы можете сохранить такие параметры, как загрузка системы, нагрузка на процессор, скорость работы с диском и другое.

Чтобы посмотреть сохраненную в логах информацию за все время используйте:

sar -n DEV | more

Также вы можете вывести только данные за последние 24 часа:

sar -n DEV -f /var/log/sa/sa24 | more

Или смотреть статистику в реальном времени:

sar 4 5

monitoring17

9. mpstat — статистика ядер процессора

Эта утилита показывает нагрузку на каждое ядро процессора отдельно. Просто выполните:

mpstat -P ALL

monitoring18

10. pmap — память процесса

Утилита позволяет узнать по какому адресу в памяти загружены компоненты процесса, различные библиотеки и т д. Для работы нужно передать программе PID:

 pmap -d PID

monitoring19

Рассмотрим несколько колонок:

  • mapped — количество памяти, в которую загружены файлы;
  • writeable/private — размер защищенного адресного пространства;
  • shared — общее пространство, для нескольких процессов.

11. ss — монитор сетевых подключений

Утилита позволяет отобразить активные сетевые соединения, таблицу маршрутизации, замаскированные соединения, а также участие в широковещательных передачах. Также вы можете посмотреть информацию об открытых сокетах и портах. Как пользоваться утилитой читайте в статье команда ss в linux.

12. iptraf — сетевая статистика в реальном времени

Команда iptraf позволяет отслеживать работу локальной сети. Она основана на Ncurses, а это значит, что вы будете иметь интерактивный доступ ко всем данным. Это информация о передаваемых данных по протоколах TCP, UDP, ICMP и OSPF, нагрузка на Ethernet, статистика узлов, ошибки контрольных сумм IP и многое другое.

13. tcpdump — анализ сетевого трафика

В отличие от предыдущей утилиты tcpdump позволяет анализировать содержимое всех пакетов, проходящих через определенный порт. Например, вы можете отслеживать всю информацию о запросах к DNS с помощью следующей команды:

tcpdump -i eth0 'udp port 53'

Также вы можете вывести все пакеты только протокола http, только без служебных пакетов FIN, SYN, ASC:

tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'

Теперь выведем все HTTP запросы на ip 192.168.1.8:

tcpdump -ni eth0 'dst 192.168.1.5 and tcp and port http'

15. starce — системные вызовы

Эта утилита позволяет выполнять трассировку системных вызовов и сигналов. Мониторинг linux может быть полезен для отладки веб-сервера или других проблем в системе.

16. nethogs — анализ нагрузки на сеть

Это более простой анализатор загрузки сети, который показывает сколько и какая программа потребляет пропускной способности сети. Очень просто и быстро можно понять что именно ест весь трафик. Подробнее о nethogs смотрите здесь.

Выводы

Вот и все, теперь вы знаете программы слежения за компьютером linux и сможете поддерживать свою систему в нормальном состоянии. С помощью этих утилит намного проще решать проблемы с системой, чем пытаться наугад понять почему все глючит или не работает. А какие команды мониторинга linux используете вы? Узнали для себя что-то новое из статьи? Напишите в комментариях!

На завершение 15 малоизвестных и полезных команд терминала:

 

Creative Commons License
Статья Программы слежения за компьютером Linux распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.
Ваше имя тоже может быть здесь. Начните писать статьи для Losst. Это просто! Смотрите подробнее как начать писать статьи - Пишите для нас

Оцените статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (12 оценок, среднее: 5,00 из 5)
Загрузка...

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

  1. Boris Октябрь 17, 2016 Ответить
  2. basarga Апрель 22, 2018 Ответить

Ответить

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: