Мониторинг производительности и диагностика Linux сервера является одной из самых важных частей работы системного администратора. При осуществлении любых манипуляций на сервере вы должны отслеживать происходящее на сервере: какова нагрузка на систему и нет ли превышения по ресурсам. Хорошая новость: в Linux существуют сотни команд, которые могут дать вам исчерпывающие сведения по потреблению ресурсов (память, процессор, диски) и общей нагрузке на систему. Ниже приведены команды, которые мы обсудим в этой статье и объясним, как вы можете контролировать состояние вашей системы и вносить соответствующие улучшения.
Top
Top
- это базовая команда, которую большинство системных администраторов используют в своей повседневной работе. Вам не нужно устанавливать Top
, так как он уже является частью каждого дистрибутива Linux. На следующем скриншоте показан результат выполнения команды top
. Вы можете видеть на скриншоте ниже запущенные задачи , их потребления ресурса процессор, памяти и использования подкачки. Вы можете сделать много вещей, чтобы получить результат вашего желания и потребности. Он имеет большое количество опций/ключей, которые вы можете использовать, чтобы сделать вашу жизнь легкой.
[root@oracle]# top
Htop
Htop
- это еще один инструмент, подобный top
для мониторинга ваших системных процессов. Он поставляется с интерактивной оболочкой, и вы можете остановить процессы, просто перейдя к ним и нажав нужную кнопку. Это удобнее, чем использование команды top
, потому что у данной утилиты разные средства отображения памяти и подкачки. Вы можете установить htop
с помощью следующей команды.
yum install htop
Free
Free
также предустановлен в дистрибутивах Linux для проверки использования памяти. Он также показывает вам буферы и кешированную память. Есть несколько форматов, таких как КБ, МБ и ГБ. Вам просто нужно использовать в команде параметры -m
и -g
. После скриншота проверки памяти в МБ.
На приведенном выше скриншоте показано в общей сложности 996 МБ, при этом осталось свободно 74 МБ и 688 МБ кэшировано.
Подсказка! Лучше использовать команду free с ключом -h (от слова Huaman, человек), тогда вывод будет автоматически в "человеческой", удобочитаемой форме, т.е. система сама решит в Mb или Gb показать вам объемы памяти.
NetHogs
Вы хотите знать, где в Интернете ваш сервер открывает соединения и с какой пропускной способностью? Тогда nethogs
- это ваш интерактивный инструмент, который решит эту задачу. Он показывает все порты, открытые на разные IP-адреса по интернету, и отслеживает величину пропускной способности (скорость) на каждом открытом соединении. Вы можете установить nethogs
с помощью следующей команды.
yum install nethogs
Mytop
Инструмент Mytop
позволяет вам контролировать производительность ваших баз данных Mysql и их диагностику. Команда отображает сведения онлайн (в реальном времени), как команда watch
. Утилита открывает соединение с mysql и остается в состоянии монитора и время от времени выполняет запрос “SHOW FULL PROCESSLIST
”. Следующая команда используется для мониторинга базы данных mysql.
mytop –u root –p XXX –d mysql
где: -u
- пользователь в базе данных mysql, -p
- пароль пользователя, -d
- имя базы данных mysql, которую мы будем мониторить
Ниже приведен скриншот команды mytop
, которую мы выполнили ранее.
Iostat
Команда Iostat
сообщает вам статистику процессора и дискового ввода-вывода. Чтение и запись отображаются как блочное чтение и блочная запись. Вы можете получить процент простоя вашего процессора, чтобы проверить, сколько времени он не выполнял никаких тяжелых задач. Ниже приведен вывод команды iostat
. Как вы можете видеть на следующем снимке экрана, эта система на 96 процентов простаивает, в то время как sda
представляет информацию по вашему жесткому диску.
[root@oracle]# iostat
Sar
Команда Sar
чем-то похожа на команду Iostat
, но отличается тем, что она сообщает вам о записи ввода-вывода за последние полчаса с другими параметрами, такими как использование системы, ожидание ввода-вывода и процент времени простоя. Вам нужно будет выполнить следующую команду, чтобы установить команду sar на RHEL и ее производные.
yum -y install sysstat
Lsof
Как вы знаете, в Linux каждый процесс открывает файл на бэкэнде, поэтому, если вы хотите проверить, запущен процесс или нет, вы должны проверить открыть ли соответствующий файл для этого процесса в соответствующем разделе/каталоге. Команда LSOF
позволяет узнать, какие файлы открыты. Для exmaple, файлы которого в данный момент открыты из раздела /var
, вы будете использовать его как:
lsof /var
Vmstat
Как следует из названия, эта команда используется для мониторинга статистики виртуальной памяти. Самое лучшее в этой команде то, что она может войти в состояние монитора на основе интервала, указанного в команде. Он позволяет вам узнать, какую нагрузку, пейджинг и прерывания обрабатывает сервер за это время. Ниже приводится команда для мониторинга виртуальной памяти через каждые 5 секунд.
vmstat 5
Atop
Atop
- это очень важная команда для мониторинга и диагностики вашего сервера. Он сочетает в себе функции как top
, так и htop
, а также дополнительную функцию ежедневного протоколирования уровня. В нем выделяются процессы, достигшие порогового предела нагрузки.
Выводы
Все вышеперечисленные команды очень полезны для анализа производительности и диагностики вашей системы Linux. Хороший администратор должен обладать глубокими знаниями о том, как быстро использовать эти команды и получать результат для своих текущих потребностей мониторинка.