Туториал Оптимизация Сервера Minecraft | by Rgferg1 2020-09-13
Добрый вечер, пользователи. Каждый сталкивался с такой проблемой, что тормозит сервер. При таких условиях будет низкий TPS.
Что такое TPS?
TPS (Ticks per Second) — это число тактов за секунду. Чем более высокий данный показатель, тем большая производительность сервера. В норме показатель 20.0. TPS может существенно снижаться в случае значительной нагрузки на сервер. И в консоль выводятся такие строчки: [Server thread/WARN]: Can’t keep up! Is the server overloaded? Running 9999ms or 9999 ticks behind
Чтобы посмотреть значение TPS введите команду: /tps
YAML:
#CoreProtect Config
# If enabled, extra data is displayed when doing rollbacks and restores.
# If disabled, you can manually trigger it in-game by adding «#verbose»
# to the end of your rollback statement.
verbose: true
# MySQL is optional and not required.
# If you prefer to use MySQL, enable the following and fill out the fields.
use-mysql: false
table-prefix: СВОИ ДАННЫЕ
mysql-host: СВОИ ДАННЫЕ
mysql-port: СВОИ ДАННЫЕ
mysql-database: СВОИ ДАННЫЕ
mysql-username: СВОИ ДАННЫЕ
mysql-password: СВОИ ДАННЫЕ
# If enabled, CoreProtect will check for updates when your server starts up.
# If an update is available, you’ll be notified via your server console.
check-updates: true
# If enabled, other plugins will be able to utilize the CoreProtect API.
api-enabled: true
# If no radius is specified in a rollback or restore, this value will be
# used as the radius. Set to «0» to disable automatically adding a radius.
default-radius: 10
# The maximum radius that can be used in a command. Set to «0» to disable.
# To run a rollback or restore without a radius, you can use «r:#global».
max-radius: 100
# If enabled, items taken from containers (etc) will be included in rollbacks.
rollback-items: true
# If enabled, entities, such as killed animals, will be included in rollbacks.
rollback-entities: true
# If enabled, generic data, like zombies burning in daylight, won’t be logged.
skip-generic-data: true
# Logs blocks placed by players.
block-place: true
# Logs blocks broken by players.
block-break: true
# Logs blocks that break off of other blocks; for example, a sign or torch
# falling off of a dirt block that a player breaks. This is required for
# beds/doors to properly rollback.
natural-break: true
# Properly track block movement, such as sand or gravel falling.
block-movement: true
# Properly track blocks moved by pistons.
pistons: true
# Logs blocks that burn up in a fire.
block-burn: true
# Logs when a block naturally ignites, such as from fire spreading.
block-ignite: true
# Logs explosions, such as TNT and Creepers.
explosions: true
# Track when an entity changes a block, such as an Enderman destroying blocks.
entity-change: true
# Logs killed entities, such as killed cows and enderman.
entity-kills: false
# Logs text on signs. If disabled, signs will be blank when rolled back.
sign-text: false
# Logs lava and water sources placed/removed by players who are using buckets.
buckets: true
# Logs natural tree leaf decay.
leaf-decay: true
# Logs tree growth. Trees are linked to the player who planted the sappling.
tree-growth: true
# Logs mushroom growth.
mushroom-growth: true
# Logs natural vine growth.
vine-growth: true
# Logs when portals such as Nether portals generate naturally.
portals: true
# Logs water flow. If water destroys other blocks, such as torches,
# this allows it to be properly rolled back.
water-flow: true
# Logs lava flow. If lava destroys other blocks, such as torches,
# this allows it to be properly rolled back.
lava-flow: true
# Allows liquid to be properly tracked and linked to players.
# For example, if a player places water which flows and destroys torches,
# it can all be properly restored by rolling back that single player.
liquid-tracking: true
# Track item transactions, such as when a player takes items from a
# chest, furnace, or dispenser. Necessary for any item based rollbacks.
item-transactions: true
# Track player interactions, such as when a player opens a door, presses
# a button, or opens a chest. Player interactions can’t be rolled back.
player-interactions: true
# Logs messages that players send in the chat.
player-messages: false
# Logs all commands used by players.
player-commands: false
# Logs the logins and logouts of players.
player-sessions: false
# Logs when a player changes their Minecraft username.
username-changes: false
# Logs changes made via the plugin «WorldEdit» if it’s in use on your server.
worldedit: true
# CoreProtect is donationware. Obtain a donation key from coreprotect.net/donate/
donation-key:
# Logs items dropped by players.
item-drops: true
# Logs items picked up by players.
item-pickups: true
# Track all hopper transactions, such as when a hopper removes items from a
# chest, furnace, or dispenser.
hopper-transactions: false
Также у этого плагина бывают проблемы с базой данной. Если что-то пойдет не так, то ваш ТПС упадет то 0.60. И ваш сервер просто зависнет. Такое было у меня.
Мобы
Сервер может оставать из за мобов. С помощью таймингов вы можете остледить именно какие мобы нагружают сервер.
С помощью плагина MFM, вы можете регулировать спавн и число мобов.
Спавн мобов лучше настроить в bukkit.yml, spigot.yml
ФИКСЫ
Один из игроков может сидеть с чит клиента. И посылать слишком много пакетов, что заставит сервер тормозит а в скоре и положить его. Также пользование предметов с 1000 лвл может тоже замедлять работу сервера. Есть фиксы на это. Ниже.
Ссылки не предоставил, ищите сами. Google.com и Yandex.ru, может попозже залью.
Совет: На свой выбор. Некоторые плагины могут конфликтовать с друг другом. Не ставьте их всех подряд.
Основные команды для сервера Minecraft
Незаменимое средство для администрирования сервера Minecraft – это команды, благодаря которым мы можем конфигурировать игровой процесс, блокировать нарушителей и вносить различные корректировки. Под команды выделено отдельное консольное окно.
Консоль запускается с помощью кнопки «T» или символа «/» — он открывает окно ввода с указанным символом. Это позволяет сразу указать терминалу, что вводится не простой текст, а команда. Если исполняемая команда запускается через сервер, то в таком случае символ использовать не нужно. Также мы можем создать командный блок и вписать в него нужную функцию, а затем подключить к этому сигнал красного камня.
В сегодняшней статье мы рассмотрим набор команд, которые могут пригодиться каждому администратору и игроку Майнкрафт. Использовать их можно будет как в сетевой игре, так и в локальной сети, где подключена опция «Использование читов».
Команды для администратора сервера Майнкрафт
В нижеприведенных командах мы будем использовать ключевое слово «таргет» — оно обозначает выбранную цель (игрок, предмет и так далее).
clear [индекс объекта] [доп. параметры] — полностью очищает содержимое сумки выбранного юзера.
debug — активация/остановка режима отладки.
defaultgamemode — для каждого нового пользователя будет изменен режим игры: выживание/творчество/приключение.
difficulty — устанавливает сложность игры для всех юзеров, где 0 — мирно, 1 — легко, 2 — нормально, 3 — сложно.
enchant [уровень] — зачаровывает предмет в руках на указанный уровень.
gamemode [таргет] — указывает на юзера и изменяет его режим игры. Выживание (survival, s или 0), Творчество (creative, c или 1), Приключение (adventrure, a или 2).
gamerule [true/false] — изменение игровых правил, которые включают в себя следующее:
Таким образом, команда для изменения игровых правил принимает следующий вид: «gamerule keepInventory true» — в таком случае будет включена опция, благодаря которой все содержимое инвентаря будет сохранено после гибели персонажа.
give [количество] [доп. параметры] — присваивает пользователю выбранный предмет.
publish — активирует подключение по локальной сети.
say — введите данную команду, чтобы отправить сообщение розовым цветом.
spawnpoint [таргет] [x] [y] [z] — определяет точное местоположение в координатах, где будет установлен спавн выбранного пользователя.
time set — используйте для изменения времени, где 0 — рассвет, 6000 — полдень, 12000 — заката и 18000 — полночь.
time add — увеличивает время на выбранное значение.
toggledownfall — позволяет активировать и деактивировать осадки в игре. Если погода была солнечная, то она будет изменена на дождливую.
weather — изменяет погоду на некоторое время в секундах.
xp — приписывает пользователю выбранное количество опыта, от 0 до 5000. Также можно добавить сразу несколько уровней — для этого необходимо прописать L и ввести количество уровней. Для понижения левела используйте опцию L, например, 15L снизит уровень на 15 единиц.
ban [опишите, почему пользователь был заблокирован] — блокирует пользователя по нику.
ban-ip — блокирует пользователя по ip-адресу.
pardon — возвращает доступ пользователю, который был забанен.
pardon-ip — исключает IP-адрес, внесенный в черный список.
banlist [ips] — отображает список всех юзеров, которые были заблокированы на сервере.
op — определяет выбранному юзеру привилегии оператора.
deop — забирает у пользователя привилегии оператора.
kick [опишите причину] — используйте, чтобы исключить юзера из игрового процесса.
list — показывает онлайн всех юзеров на сервере.
save-all — сохраняет все измененные параметры на сервере.
save-on — активирует автосохранение всех изменений, внесенных на сервере.
save-off — отключает автосохранение изменений на сервере.
stop — прекращает работу сервера.
whitelist list — отображает список пользователей в whitelist.
whitelist — добавляет выбранного пользователя в белый список.
whitelist — активация/деактивация опции белого списка на сервере.
whitelist reload — перезагрузка whitelist.
Команды для игроков
Для отображения всех доступных команд на сервере Minecraft мы можем ввести в чат символ «/» и нажать на клавишу «Tab».
Общие команды
rules — отображает правила поведения на сервере.
spawn — возвращает вашего персонажа на спавн.
motd — предназначено для просмотра приветственного сообщения.
ignore — если вы хотите, чтобы выбранной пользователь не мог с вами общаться, воспользуйтесь данной командой.
near — отображает юзеров, находящихся рядом с вами.
afk — активация режима «Отсутствует».
depth — показывает положение персонажа относительно уровня моря.
getpos — показывает, где вы находитесь на координатной оси.
itemdb — отображает ID предмета в руке.
list; who; playerlist; online — список команд для просмотра онлайн-сервера.
r; reply — быстрый ответ на присланное ранее письмо.
time — позволяет узнать время сервера.
compass — указывает текущее направление.
call — отправляет запрос для телепортации к другому юзеру.
tpahere — отправляет запрос на телепортации к себе.
pvp-on — деактивирует защиту для новых пользователей.
rtp — телепортирует в случайное место.
warp — телепортирование на точку варпа.
warp list [страница] — список открытых варпов.
case — отображает список предметов, которые находятся в указанном кейсе.
case — отображает список предметов, которые находятся в кейсе из руки.
me — отправляет письмо в чат от третьего лица. Например, если написать me копает, то будет отображена фраза «Player копает».
seed — показывает зерно мира, где происходит игровой процесс.
Команды для настройки жилища
home — отправляет в свое жилище.
home set — устанавливает жилище в текущей позиции.
home delete — удаляет жилище вашего персонажа.
home — позволяет посетить жилище указанного пользователя Minecraft.
home point — позволяет указать компасу на ваше жилище.
home list — отображает список домов, доступных для посещения.
home ilist — отображает список пользователей, которые могут посетить ваше жилище.
home invite [имя пользователя] — приглашает пользователя в дом.
home uninvite [имя пользователя] — отменяет приглашение указанного пользователя.
home public — разрешает сделать жилище публичным.
home private — разрешает сделать жилище приватным.
Мощные игровые серверы для Minecraft от 3 руб./час
От 4 Гб ОЗУ, от 80 Гб на скоростном NVMe и стабильные 200 Мбит/сек
Приват территории
//wand — добавляет деревянный топор для выделения области.
/region claim — выделенная область сохраняется как регион с указанным именем.
//pos1; //pos2 — выделяет блок, на котором стоит пользователь.
//hpos1 — добавляет первую точку с учетом координат пользователя.
//hpos2 — добавляет вторую точку с учетом координат пользователя.
/region list — отображает список доступных регионов
/region addowner — присваивает пользователей к выбранному региону как владельцев. Для них доступны те же опции, как и для основателя области.
/region addmember — присваивает пользователей к выбранному региону как обычных участников. Возможности ограничены.
/region removeowner — исключает выбранных пользователей из владельцев указанной области.
/region removemember — исключает выбранных пользователей из указанной области.
//expand — увеличивает масштаб области в указанном направлении. Например, при вводе команды //expand 10 down, расширение пойдет на 10 кубов вниз. Существует несколько направлений: up, down, me.
//contract — уменьшает масштаб области в указанном направлении. Например: //contract 10 down — уменьшит выделение на 5 кубов сверху вниз. Используются направления, аналогичные предыдущей команде.
/region flag — установка флага выбранной области. Работает только в том случае, если у вашего персонажа есть к этому доступ, содержит команды для различных типов пользователей.
Флаги для простых пользователей
pvp — включает или отключает режим PVP;
use — включает или отключает использование механизмов и дверей;
chest-access — если хотите запретить использование сундуков, то используйте эту команду;
lava-flow — подключает или отключает растекание лавы;
water-flow — подключает или отключает растекание воды;
lighter — если хотите запретить использование зажигалки, то используйте эту команду.
Флаги для VIP-пользователей
ice-form — создает лед;
ice-melt — создает процесс таяние льда;
snow-fall — активирует снегопад;
leaf-decay — активирует листопад;
ghast-fireball — урон от гастов;
creeper-explosion — урон от крипперов.
Флаги для Premium-пользователей
mob-spawning — предназначена для управления спавном мобов;
deny-spawn — предназначена для управления спавном отдельных мобов;
mob-damage — настройка урона от мобов в регионе;
entry — определяет, разрешено ли входить в регион;
greeting — сообщение при входе в регион;
farewell — сообщение при выходе из региона;
notify-enter — отображает текстовое сообщение при входе в пользовательскую зону;
notify-leave — отображает текстовое сообщение при выходе из пользовательской зоны;
item-drop — позволяет пользователям выбрасывать вещи на территории;
lava-fire — открывает доступ к поджогу от лавы.
Флаги для Deluxe-пользователей
invincible — устанавливает бессмертие в регионе;
feed-max-hunger — указывает на то, до скольки увеличится голод;
feed-min-hunger — указывает на то, со скольки увеличится голод.
Возможные значения:
allow — true,
deny — false,
none — не задано.
Заключение
В ходе статьи мы разобрали основные команды для администраторов и пользователей игры Minecraft. Если вы администрируете свой сервер, то подойдите к использованию команд с умом – правильно настроенный сервер позволит вывести себя на высокий уровень. Если вы простой игрок, то внимательно изучайте дополнительные параметры к выбранным командам, чтобы впоследствии не возникало никаких проблем. Удачи!
Как узнать загруженность сервера в процентах?
Имеется два (кол-во в будущем будет расти) сервера на которых крутиться один и тот же высоконагруженный веб проект, код одинаковый, ось — CentOS. По железу сервера различаются, первый — 2-ядерный с 4 гигами оперативы, второй — 4-ядерный с 8 гигами оперативы.
На входе имеем — кучу пользователей каждый из которых грузит сервер, причем по разному — кто то больше, кто то меньше, 10 минут назад так, сейчас уже сяк; может добавиться новый юзер, который создаст очень большую нагрузку и тд. Имеется статистика всего этого. Задача — распределить юзеров по серверам, чтобы загруженность этих серверов была более менее одинакова. Так как юзер загружает сервер по разному, то и перераспределять юзеров по серверам надо каждые 10-20 минут.
Для распределения необходимы данные по загруженности серверов. Получить их надо средствами php или операционной системы в виде процентного отношения, мол средняя загруженность сервера №1 за последние 15 минут = 85%. Средствами php можно получить при помощи функции sys_getloadavg, однако получаемое значение это «the number of processes in the system run queue», и, как я понял, оно не имеет максимального значения, т.е. в процентах загруженность выразить не получится, из-за чего нельзя определить условную «мощность» каждого сервера — максимальное кол-во юзеров которых можно отправлять на тот или иной сервер. Есть вариант писать в лог или мэмкэш данные из top, однако это придется делать очень часто (каждую секунду?) дабы получить наиболее достоверные данные, нагрузка то скачет. В общем, хабратоварищи, Ваши предложения =)
Как посмотреть нагрузку на процессор сервера
Выясняем, почему так важно отслеживать нагрузку на процессор сервера, а также рассмотрим несколько популярных утилит для мониторинга состояния сервера и загруженности CPU в частности.
Что значит нагрузка на процессор и зачем ее отслеживать?
Под нагрузкой понимается то количество ресурсов, которое «железо» компьютера тратит на выполнения одной или нескольких задач. Обычно оно отображается в процентном соотношении, где за 100% берется максимальная загрузка одного из ядер.
Наблюдение за этим значением требуется во избежание проблем, связанных с избыточной нагрузкой на чип. Потому что процессор может быть занят как полезными задачами, так и теми, что мешают реализовать потенциал устройства в полной мере.
Например, код некоторых программ может быть плохо оптимизирован. В связи с чем сервер будет расходовать больше мощностей на выполнение по умолчанию простых задач. Или же на сервер может попасть вирус, который будет отнимать часть ресурсов.
Такая «бесполезная» загрузка чипа приведет к общему снижению производительности сервера, а также приложений и сайтов, базирующихся на нем. А это приведет к потере аудитории и снижению прибыли.
Лучшие инструменты для отслеживания нагрузки на CPU сервера
Наблюдать за тем, какое количество ресурсов чипа расходуется в текущий момент, можно несколькими способами:
Мы рассмотрим оба варианта, но у вашего хостинга может не быть панели со статистикой. Поэтому я покажу такую панель на примере Timeweb, где она точно имеется. Разбираться будем на примере сервера с Linux на борту.
Подробности о мониторинге состояния сервера уточняйте у своего провайдера.
Панель управления хостингом
Timeweb (как и некоторые другие провайдеры) предоставляет статистические данные о состоянии сервера в реальном времени. В панели управления VDS/VPS есть отдельный блок, в котором отображается график с актуальной нагрузкой на процессор.
Чтобы получить доступ к информации о состоянии чипа в панели управления Timeweb:
На главной странице появится блок со статистикой за день. Там будет информация и по процессору, и по интернет-каналу. Все в блоке вместе с основной информацией о сервере (подразумевается операционная система и объем свободного пространства на диске).
Если перейти на вкладку «Статистика», можно будет указать временной отрезок, чтобы посмотреть уровень нагрузки в ретроспективе (на момент сбоев или жалоб посетителей). Также появится доступ к блоку «Оперативная память», где можно оценить нагрузку на ОЗУ.
Текстовые утилиты для проверки нагрузки
Если доступа к панели хостинга нет, данные о процессоре можно подглядеть в самой системе с помощью специальных приложений в терминале Linux.
Только перед началом работы с ними, надо подключиться к серверу с помощью SSH-протокола.
В macOS и Linux это делается через терминал. Открываем командную строку и вводим в нее ssh root@адрес сервера. В Windows сначала надо скачать программу PuTTY, запустить ее, найти внутри поле IP-адреса, указать в нем адрес сервера, а потом нажать ОК.
В обоих случаях нужно будет авторизоваться, используя пароль администратора, а дальнейшие команды выполнять через консоль SSH. Так что стоит ознакомиться с базовыми принципами работы терминала Linux перед началом.
IP-адрес можно разыскать в панели управления провайдера либо спросить у техподдержки. А пароль хостинг высылает на почту сразу после аренды VDS/VPS.
Команда top выводит в терминал Linux информацию о процессоре сервера в реальном времени. Данные обновляются каждые 5 секунд.
top показывает уровень нагрузки в процентах (поле %CPU) для каждого запущенного приложения.
Чтобы вывести статистику на экран, надо ввести в консоль top без дополнительных вводных. Появится некий аналог менеджера задач в текстовом облике. Но информацию на экране можно менять, используя горячие клавиши для управления утилитой:
Вывод top можно упростить, удалив из него простаивающее процессы. Так можно сосредоточить внимание только на активных задачах, потребляющих ресурсы в моменте. Для этого команду надо слегка усложнить, добавив в конце опцию -i.
iostat
Еще одна встроенная в Linux системная утилита, отображающая статистические показатели «железа».
По умолчанию iostat отображает данные о работе устройств ввода и вывода, а также степень загруженности центрального процессора. Для анализа берутся данные на момент запуска утилиты в сравнении со среднестатистическими.
Чтобы получить данные конкретно о CPU, надо дополнить команду аргументом -c.
В отчете iostat уровень нагрузки на чип показывается в процентах для каждой запущенной программы и делится на несколько категорий.
Команду можно модифицировать, указав дополнительные опции, корректирующие вывод в консоль.
Можно добавить интервал, прописав в конце количество раз, которое iostat должен вывести отчет, и периодичность этой операции. Также можно изменить формат отображения затрачиваемых ресурсов или показать расширенную статистику.
vmstat
По умолчанию эта команда Linux выводит в консоль информацию о состоянии виртуальной памяти. Но через нее можно добыть данные и о других компонентах операционной системы. Степень загруженности CPU в их числе.
vmstat как и top попеременно обновляет данные. Интервал обновления зависит от указанных опций. Например, чтобы получать свежий отчет vmstat каждые 5 секунд, надо ввести в терминал команду vmstat 5. Добавив еще одну цифру, можно указать количество отчетов.
Вывод утилиты содержит в себе несколько колонок. Последние 5 отображают информацию о процессоре (обведены в графу CPU):
Сторонние текстовые утилиты
Встроенные приложения для анализа системы покрывают базовые требования вебмастеров, но могут оказаться недостаточно эффективными для тех, кому нужна расширенная статистика и дополнительная функциональность.
Благо независимые разработчики создали с десяток инструментов для сбора статистики по нагрузке на процессор сервера. Большая их часть так же, как и встроенные приложения для мониторинга, представлена в виде текстовых утилит, запускающихся через терминал. Правда, перед использованием их нужно загрузить из подключенных к системе репозиториев.
Для этого нужно запустить менеджер пакетов, введя соответствующую команду. Например, для установки пакета nmon нужно ввести:
В дистрибутиве Ubuntu / Debian
В дистрибутиве Fedora
В дистрибутиве Arch Linux
В дистрибутиве CentOS/RedHat Linux
Команда для установки: sudo название менеджера пакетов install nmon
У команды top есть своего рода старший брат — htop. Это модификация встроенной в Linux утилиты с расширенной функциональностью, настраиваемой статистикой и более наглядным интерфейсом.
Отображаемые в htop показатели поддаются тонкой настройке со стороны клиента. Можно удалить лишние данные, оставив только нагрузку CPU, а можно, наоборот, добавить больше показателей, если стандартных не хватает.
Внешний вид htop также можно адаптировать под свои вкусовые предпочтения. Выделить цветом запущенные процессы в зависимости от того, какое приложение отвечает за их работу, или просто раскрасить показатели эстетики ради.
Окно htop поддерживает работу в четерыхколоночном режиме. В каждой колонке можно отобразить статистику по каждому из ядер, установленных на вашем VDS. Вплоть до 128 ядер на одном экране с возможностью комфортно отслеживать нагрузку на все активные CPU.
Команда для установки: sudo название менеджера пакетов install nmon
Еще одна сторонняя утилита для системных администраторов, помогающая оценить общее состояние сервера. В отличие от htop, nmon содержит в себе меньшее количество функций и возможностей адаптации интерфейса под свои задачи.
У самой утилиты нет модификаторов запуска, она работает в одном режиме и запускается командой nmon.
Интерфейс nmon делится на три части:
dstat
Команда для установки: sudo название менеджера пакетов install dstat
Если подход к отображению данных в вышеперечисленных утилитах почему-то не понравился, то стоит обратить внимание на альтернативу в виду dstat. В одном окне утилиты умещается больше информации, чем у аналогичных программ других разработчиков.
Показатели сервера в dstat распределены по колонкам. В первой отображается уровень нагрузки в процентах со стороны пользователя. Затем идет sys, то есть часть ресурсов, затрачиваемых системой и ее компонентами. После — простой.
Также в колонках можно найти название процесса, расходующего мощности чипа, информацию о работе оперативной памяти и накопителя (сколько данных было записано и сколько прочитано). Сетевые показатели тоже имеются.
Вывод команды dstat можно настроить под свои нужды с помощью опций. Например, чтобы отсортировать запущенные программы по нагрузке на чип и по количеству используемой в текущей момент ОЗУ, надо ввести:
mpstat
Команда для установки: sudo название менеджера пакетов install mpstat
Подходит тем, кто использует систему с несколькими процессорами. mpstat в удобоваримом виде показывает информацию по всем CPU.
В отличие от той же top, mpstat не показывает запущенные программы. В списке чередуются и нумеруются только установленные процессоры. Затем показывается, сколько ресурсов уходит на пользователя, сколько на систему, а сколько простаивает.
По умолчанию команда mpstat выводит данные по всем CPU сразу, но ее можно модифицировать:
Подробнее с функциональностью mpstat можно ознакомиться, введя команду man mpstat.
Команда для установки: sudo название менеджера пакетов install sar
Утилита для мониторинга загруженности оборудования и формирования отчетов на основе полученных данных. Часто используются для сбора информации и последующей отправки ее на электронную почту системного администратора.
В отчет sar по умолчанию входят технические показатели устройств ввода и вывода, информация о работе виртуальной памяти (подкачка страниц), данные о прерванных операциях и о том, как используется оперативная память. Ну и степень загруженности процессора, конечно.
По умолчанию sar выводит на экран среднее значение по всем собираемым показателям. Вывод можно скорректировать опциями:
Для формирования отчетов используется команда:
Она в фоновом режиме соберет показатели системы. Потом распределит их по нескольким файлам в директории с другими отчетами.
corefreq
Многокомпонентная низкоуровневая утилита, включающая в себя одноименный модуль ядра, демон (программу, работающую в фоновом режиме) и текстовую утилиту для управления на стороне клиента. Модуль ядра получает полный доступ к серверу и выводит данные с помощью демона, который работает с привилегиями суперпользователя, получая больше данных, чем другие подобные приложения.
CoreFreq заточен для работы с современные 64-битными процессорами из серий Atom, Core2, Nehalem и аналогичными из семьи AMD.
Чтобы включить CoreFreq:
Открываем файл с параметрами загрузка:
Добавляем в него строку:
Обновляем параметры загрузчика и перезапускаем систему:
Загружаем утилиту с зависимостями:
Копируем CoreFreq с git:
Переходим в директорию с утилитой:
Устанавливаем модуль ядра:
Запускаем одноименный демон:
Включаем текстовую утилиту CoreFreq:
Как снизить нагрузку на процессор?
Все зависит от того, чем вызваны избыточные затраты ресурсов процессора. Для начала надо проанализировать статистику и выяснить, в какие периоды времени нагрузка чересчур возрастает и какое из приложений этот прирост провоцирует.
Также не стоит забывать, что есть альтернативное решение — увеличение мощности сервера. Зачем бороться с нагрузкой, если можно сделать ее менее заметной для своего VDS? И для этого всего лишь надо арендовать более мощную «машину».
Итоги
В большинстве случаев для получения общей картины хватит статистики из панели управления. На основе данных оттуда можно сформировать план действий и попытаться исправить проблему, если таковая имеется. Ну а для тех, кто желает углубиться в суть проблемы, есть с десяток утилит для мониторинга системы.
Важен не выбор инструмента, а последующие действия, устраняющие избыточную нагрузку на процессор (опять же, если она есть) и стабилизирующие работу сайта.




