Atop — интерактивный полноэкранный монитор производительности, с помощью которого можно проконтролировать загрузку ЦПУ, ОЗУ, HDD, сеть, а также произвести диагностику работы сервера на основании полученных данных.
Перед установкой Atop подключитесь к серверу по SSH.
Как установить Atop
Установите Atop в зависимости от операционной системы:
CentOS 6
-
1
Добавьте репозиторий EPEL в CentOS 6 с помощью команды:
rpm -Uvh https://archives.fedoraproject.org/pub/archive/epel/6/x86\_64/epel-release-6-8.noarch.rpm
-
2
Установите Atop:
yum install atop -y && chkconfig --level 235 atop on
-
3
Укажите интервал в файле /etc/sysconfig/atop:
INTERVAL=10
-
4
Для настройки ротации логов в файле /etc/logrotate.d/atop укажите параметры:
/var/log/atop/atop_[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] { missingok dateext dateformat ifempty nocreate postrotate /usr/bin/find /var/log/atop/ -maxdepth 1 -mount -name atop_\[0-9\]\[0-9\]\[0-9\]\[0-9\]\[0-9\]\[0-9\]\[0-9\]\[0-9\]\* -mtime +7 -exec /bin/rm {} \; endscript }
-
5
Запустите службу Atop:
service atop start
CentOS 7
-
1
Добавьте репозиторий EPEL в CentOS7 с помощью команды:
yum install epel-release
-
2
Установите Atop:
yum install atop
-
3
Укажите интервал в файле /etc/sysconfig/atop:
LOGINTERVAL=10
-
4
Укажите в файле /usr/share/atop/atop.daily следующие параметры:
LOGINTERVAL=10 # default interval in seconds LOGGENERATIONS=7 # default number of days
-
5
Перезапустите службу Atop:
systemctl restart atop
CentOS 8
-
1
Добавьте репозиторий EPEL в CentOS 8 с помощью команды:
dnf install epel-release
-
2
Установите Atop:
dnf install atop
-
3
Укажите интервал в файле /etc/sysconfig/atop:
LOGINTERVAL=10
-
4
Укажите в файле /usr/share/atop/atop.daily следующие параметры:
LOGINTERVAL=10 # default interval in seconds LOGGENERATIONS=7 # default number of days
-
5
Перезапустите службу Atop:
systemctl restart atop
Debian 8
-
1
Установите Atop:
apt-get install atop
-
2
Укажите интервал в файле /etc/default/atop:
INTERVAL=10 OUTFILE="$LOGPATH/atop.log"
-
3
В файле /etc/init.d/atop измените строку
OUTFILE=$LOGPATH/daily.log
на:OUTFILE=$LOGPATH/atop.log
-
4
Выполните команду:
systemctl daemon-reload
-
5
Для настройки ротации логов в файле /etc/logrotate.d/atop укажите параметры:
/var/log/atop/atop.log { missingok daily rotate 7 notifempty create 0600 root root }
Debian 9
-
1
Установите Atop:
apt update && apt install atop -y
-
2
Укажите интервал в файле /usr/share/atop/atop.daily:
INTERVAL=10
-
3
Исправьте время хранения логов. Для этого в файле /usr/share/atop/atop.daily в строке
( (sleep 3; find $LOGPATH -name 'atop_*' -mtime +28 -exec rm {} \;)& )
измените 28 на 7:( (sleep 3; find $LOGPATH -name 'atop_*' -mtime +7 -exec rm {} \;)& )
-
4
Перезапустите службу Atop:
systemctl restart atop
Debian 10
-
1
Установите Atop:
apt update && apt install atop -y
-
2
Укажите в файле /usr/share/atop/atop.daily следующие параметры:
LOGINTERVAL=10 # default interval in seconds LOGGENERATIONS=7 # default number of days
-
3
Перезапустите службу Atop:
systemctl restart atop
Ubuntu 18.04
-
1
Установите Atop:
apt update && apt install atop -y
-
2
Укажите интервал в файле /usr/share/atop/atop.daily:
INTERVAL=10
-
3
Исправьте время хранения логов. Для этого в файле /usr/share/atop/atop.daily в строке
( (sleep 3; find $LOGPATH -name 'atop_*' -mtime +28 -exec rm {} \;)& )
измените 28 на 7:( (sleep 3; find $LOGPATH -name 'atop_*' -mtime +7 -exec rm {} \;)& )
-
4
Перезапустите Atop:
systemctl restart atop
Ubuntu 20.04
-
1
Установите Atop:
apt update && apt install atop -y
-
2
Укажите в файле /usr/share/atop/atop.daily следующие параметры:
LOGINTERVAL=10 # default interval in seconds LOGGENERATIONS=7 # default number of days
-
3
Перезапустите службу Atop:
systemctl restart atop
Чтобы запустить Atop, введите команду:
atop
В терминале будет запущен интерфейс Atop, с помощью которого можно продиагностировать работу вашего VPS-сервера:
На что стоит обратить внимание
По умолчанию верхняя часть интерфейса разбита на 6 столбцов. В первом столбце перечислены основные ресурсы сервера, а в столбцах напротив указаны их параметры и нагрузка.
Нагрузка на CPU
Данные показатели содержат информацию о распределении процессорного времени. Нагрузка на каждое ядро процессора отображается в отдельной строке (cpu). Суммарная нагрузка отображена в строке CPU.
В первом (sys) и втором (user) столбце дана информация о работе CPU по обработке процессов. Высокие показатели (95-100%) загрузки всех ядер на протяжении длительного времени указывают на то, что процессор загружен. Это может негативно влиять на скорость работы сайта. Если одно ядро загружено максимально, а у других — показатели в норме, то в данном случае стоит обратить внимание на другие показатели нагрузки.
Немаловажный показатель wait — время затраченное на обработку данных. Чем выше этот показатель, тем дольше процессы ожидают своей очереди на выполнение. Как правило, данная проблема может быть связана с медленной работой жесткого диска. Допустимое значение: не более 80%.
Потребление памяти (MEM)
В первом столбце отображен суммарный объем выделенной памяти (tot) на вашем VPS, а во втором — указана свободная память (free) на текущий момент. Свободную память заимствует дисковый кэш, позволяя приложениям загружаться и работать быстрее, тем самым показатель free не отображает доступную память на текущий момент. Если приложениям понадобится больше памяти, то они заберут его у дискового кэша.
Чтобы определить количество свободной памяти с учетом буфера и кэша, выполните команду: free -m
Результат:
В строке -/+ buffers/cache, столбце free будет указан объем доступной памяти.
Оперативная память влияет на объем информации, которую способен обработать сервер. Если памяти недостаточно для своевременной обработки информации, могут возникнуть задержки в загрузке страниц и процессы будут выполняться дольше обычного или могут завершиться в аварийном режиме. Количество оперативной памяти влияет не только на скорость загрузки страниц, но и на одновременную обработку запросов и выполнение важных функций.
Load average(AVG):
Данный показатель отражает среднее значение нагрузки системы за определенный период, а именно за 1 минуту (avg1), за 5 минут (avg5) и за 15 минут (avg15).
Значения:
- Если значения равны 0.0, то система находится в состоянии простоя.
- Если среднее значение для 1 минуты выше, чем для 5 или 15, то нагрузка растет.
- Если среднее значение для 1 минуты ниже, чем для 5 или 15, то нагрузка снижается.
- Если значение нагрузки выше, чем количество ядер процессора, то необходимо проанализировать список процессов disk await и другие характеристики.
Внимание
Нагрузка в пределах от 0 до N, где N число ядер процессора является допустимой и не влияет на скорость работы сайта.
Для более точной диагностики необходимо выявить причину, по которой создается нагрузка на сервер. В нижней части интерфейса отображаются запущенные процессы и потребляемый ими ресурс:
Для удобного просмотра отсортируйте запущенные процессы с помощью горячих клавиш:
- Shift + m — сортировка по объему используемой памяти;
- Shift + p — сортировка по загрузке процессора;
- Shift + d — сортировка процессов по использованию диска;
- Shift + n — сортировка процессов по использованию сети;
Исходя из результата можно выяснить, какие из параметров (CPU,MEM,DSK) потребляют больше всего ресурсов, и принять меры по их устранению.
Как решить проблему с нагрузкой сервера
Одна из распространенных причин нагрузки сервера — недостаток мощности ресурсов. Для решение данной проблемы рекомендуем повысить тарифный план: Как повысить тариф VPS.
Для уменьшения нагрузки и потребления ресурсов рекомендуем оптимизировать скрипты вашего сайта.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊