Thank you for reading this post, don't forget to subscribe!
top — это диспетчер задач в Linux. top наиболее часто используемый инструмент мониторинга системы в дистрибутивах GNU/Linux для поиска узких мест связанных с производительностью в системе. Эти инструменты помогают нам предпринимать корректирующие действия. top имеет приятный минималистский интерфейс, поставляется с небольшим количеством опций, которые позволяют нам быстрее получить лучшее представление об общей производительности системы.
Однако иногда очень сложно найти приложение/процесс, который потребляет много системных ресурсов, так как команда top не имеет возможности выделять программы, которые потребляют слишком много ресурсов процессора, оперативной памяти и других ресурсов.
Для сохранения такого подхода мы предлагаем мощную программу мониторинга системы под названием Glances, которая автоматически выделяет программы, которые используют самые высокие системные ресурсы и предоставляют максимум информации о сервере Linux/Unix.
Что такое Glances?
Glances — это кроссплатформенный инструмент для мониторинга системы на основе командной строки, написанный на языке Python, использующий библиотеку psutil для получения информации из системы. С Glance мы можем отслеживать использование процессора, средней нагрузки, памяти, сетевых интерфейсов, дискового ввода-вывода, процессов и использования файловой системы.
Glances — это бесплатный инструмент, лицензированный под GPL для мониторинга операционных систем GNU/Linux и FreeBSD. В Glances также есть много интересных опций. Одной из основных функций, является то, что мы можем установить пороговые значения (осторожные, предупреждающие и критические) в файле конфигурации, и информация будет отображаться в цветах, которые указывают на узкое место в системе.
Особенности Glances
- Информация о процессоре (пользовательские приложения, системные программы и незанятые программы).
- Общая информация о памяти, включая RAM, Swap, Free memory и т. д.
- Средняя загрузка процессора за последние 1, 5 и 15 минут.
- Скорость загрузки/выгрузки по сети.
- Общее количество процессов, активных и спящих процессов и т. д.
- Информация о скорости дискового ввода/вывода (чтение или запись)
- Подключенные устройства использующие диск в настоящее время.
- top-повые процессы с использованием ЦП/памяти, именами и местоположением приложения.
- Показывает текущую дату и время внизу.
- Подсвечивает процесс, который потребляет максимальные системные ресурсы красным цветом.
Вот пример скриншота Glances.
Установка Glances в Linux/Unix системах
Вы можете установить Glances в системах на базе Red Hat, включив репозиторий EPEL, а затем запустив следующую команду в терминале.
На RHEL/CentOS/Fedora
1 |
<span class="hljs-comment"># yum install -y glances</span> |
В Debian/Ubuntu/Linux Mint
1 2 3 |
$ sudo apt<span class="hljs-attribute">-add</span><span class="hljs-attribute">-repository</span> ppa:arnaud<span class="hljs-attribute">-hartmann</span>/glances<span class="hljs-attribute">-stable</span> $ sudo apt<span class="hljs-attribute">-get</span> update $ sudo apt<span class="hljs-attribute">-get</span> install glances |
Использование Glances
Для начала выполните базовый синтаксис на терминале.
1 |
<span class="hljs-comment"># glances</span> |
Нажмите ‘q‘ (ESC или Ctrl+C также работает), чтобы выйти из терминала Glances. Вот еще один снимок экрана, взятый из системы CentOS 6.5.
По умолчанию интервал времени равен ‘1‘ секунде. Но вы можете определить пользовательский интервал времени при запуске взглядов из терминала.
1 |
<span class="hljs-comment"># glances -t 2</span> |
Цветовые коды Glances
Значение кода цвета Glances:
- ЗЕЛЕНАЯ: ОК (все впорядке);
- СИНИЙ: ОСТОРОЖНО (нужно внимание);
- ФИОЛЕТОВЫЙ: ВНИМАНИЕ (оповещение);
- КРАСНЫЙ: КРИТИЧЕСКИЙ (критический);
Мы можем установить пороги в конфигурационном файле. По умолчанию заданы пороговые значения (осторожно = 50, предупреждение = 70 и критическое = 90), которые мы можем настроить в соответствии с нашими потребностями. Файл конфигурации по умолчанию находится по адресу /etc/glances/glances.conf.
Варианты отображения
Кроме того, несколько параметров командной строки, glances предоставляет гораздо больше горячих клавиш для поиска информации во время работы. Ниже приведен список нескольких горячих клавиш.
a — сортировать процессы автоматически;
c -сортировать процессы по CPU%;
m — сортировка процессов по MEM%;
p — сортировка процессов по имени;
i — сортировка процессов по скорости ввода/вывода;
d — показать/скрыть статистику дискового ввода-вывода;
f — показать/скрыть статистику директорий и файлов
n — показать/скрыть сетевую статистику
s — показать/скрыть статистику датчиков
y — показать/скрыть статистику hddtemp
l — показать/скрыть логи
б — байты или биты для сетевых входов/выходов
w — удалить журналы предупреждений
x — удалить предупреждения и критические журналы
1 — общая статистика ЦП
h — показать/скрыть этот экран справки
t — просмотр сетевого ввода-вывода как комбинации
u — просмотреть совокупный сетевой ввод/вывод
q — выйти (Esc и Ctrl-C тоже работают)
Используйте Glances на удаленных системах
С Glances вы также можете контролировать удаленные системы. Чтобы использовать «glances» в удаленных системах, выполните команду glances -s (-s для режима сервер/клиент) на сервере.
1 2 3 4 5 6 |
<span class="applescript"><span class="hljs-comment"># glances -s</span> Define <span class="hljs-keyword">the</span> password <span class="hljs-keyword">for</span> <span class="hljs-keyword">the</span> Glances server Password: Password (confirm): Glances server <span class="hljs-keyword">is</span> <span class="hljs-property">running</span> <span class="hljs-function_start"><span class="hljs-keyword">on</span></span> <span class="hljs-number">0.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span>:<span class="hljs-number">61209</span></span> |
Примечание. После того, как вы введете команду «glances», вам будет предложено указать пароль для сервера Glances. Определите пароль и нажмите Enter, вы увидите запуск glances на порт 61209.
Теперь перейдите на удаленный хост и выполните следующую команду для подключения к серверу Glances, указав IP-адрес или имя хоста, как показано ниже. Здесь 172.16.27.56 IP-адрес моего glances сервера.
1 |
<span class="hljs-comment"># glances -c -P 172.16.27.56</span> |
Ниже приведены несколько заметных моментов, которые пользователь должен знать при использовании Glances в режиме сервер/клиент.
1 |
* <span class="hljs-keyword">In</span> server mode, you can set the bind address <<span class="hljs-keyword">strong</span>>-B</<span class="hljs-keyword">strong</span>> ADDRESS <span class="hljs-keyword">and</span> listening <<span class="hljs-keyword">strong</span>>TCP</<span class="hljs-keyword">strong</span>> <span class="hljs-keyword">port</span> -<<span class="hljs-keyword">strong</span>>p</<span class="hljs-keyword">strong</span>> <<span class="hljs-keyword">strong</span>><span class="hljs-keyword">PORT</span></<span class="hljs-keyword">strong</span>>. * <span class="hljs-keyword">In</span> client mode, you can set the <<span class="hljs-keyword">strong</span>>TCP</<span class="hljs-keyword">strong</span>> <span class="hljs-keyword">port</span> <span class="hljs-keyword">of</span> the server <<span class="hljs-keyword">strong</span>>-p <span class="hljs-keyword">PORT</span></<span class="hljs-keyword">strong</span>>. * <span class="hljs-keyword">Default</span> binding address <span class="hljs-keyword">is</span> <<span class="hljs-keyword">strong</span>><span class="hljs-number">0.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span></<span class="hljs-keyword">strong</span>>, but it listens <span class="hljs-keyword">on</span> <span class="hljs-keyword">all</span> network interfaces at <span class="hljs-keyword">port</span> <<span class="hljs-keyword">strong</span>><span class="hljs-number">61209</span></<span class="hljs-keyword">strong</span>>. * <span class="hljs-keyword">In</span> server/client mode, limits are set by the server side. * You can also define a password <span class="hljs-keyword">to</span> <span class="hljs-keyword">access</span> <span class="hljs-keyword">to</span> the server <<span class="hljs-keyword">strong</span>>-P</<span class="hljs-keyword">strong</span>> password. |