2026 Как распределить CPU и память между несколькими игровыми серверами Pterodactyl?

Материал для администраторов, которые объединяют несколько игровых экземпляров в Pterodactyl и хотят избежать взаимного влияния нагрузок. Вы получите порядок измерений, правила настройки ограничений CPU, памяти и диска, шаблон ресурсной матрицы и критерии, когда пересматривать распределение.

Данные для выбора: документация Pterodactyl описывает узел, на котором могут работать несколько игровых серверов, и ограничения ресурсов их контейнеров (описание архитектуры и контейнеров). Поэтому распределяйте CPU, память и дисковое пространство по измеренным пикам каждого экземпляра, оставляя запас на уровне всей машины. Не делите ресурсы поровну и не считайте контейнерный лимит гарантией производительности.

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

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

Обновлено 25 октября 2026 года; сведения о возможностях и статусе Pterodactyl сверены с официальной документацией проекта.

Ресурсы экземпляра и узла: границы вместо условной вместимости

В Pterodactyl узел — это серверная машина, а игровые серверы запускаются в контейнерах с настраиваемыми ограничениями. В официальном описании архитектуры указано, что один узел может запускать несколько серверов; это не означает, что их число заранее фиксировано или гарантировано для любого набора игр. Документация не устанавливает универсальную норму экземпляров, игроков или обязательный объём ресурсов для всех игровых движков.

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

Перед настройкой разграничьте три уровня:

  • Экземпляр: ресурсы, фактически потребляемые конкретным игровым процессом и его контейнером.
  • Узел: совокупная нагрузка всех контейнеров, операционной системы и необходимых служб.
  • Пользовательский сценарий: ситуация, во время которой нагрузка возрастает — например, загрузка карты, сохранение мира или обновление нескольких экземпляров.

Обратите внимание и на статус панели: в документации Pterodactyl на дату проверки ветка 2.0 обозначена как открытая бета, а ветка 1.x — как стабильная. Для производственного узла сверяйте названия и поведение настроек именно с документацией версии, установленной у вас: официальная документация Pterodactyl.

Не переносите настройки с чужого сервера без проверки. Даже одинаковая игра может иметь другой профиль нагрузки при отличающихся версиях, модификациях, параметрах запуска и активности игроков.

CPU: лимит контейнера не равен закреплённому ядру

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

Настройка Pterodactyl CPU limits задаёт предел потребления контейнера, но не превращает его в эксклюзивный процессорный ресурс. В частности, не следует воспринимать заданную долю как выделенное ядро или как обещание стабильной частоты и игровой производительности. Описание полей ресурсов сервера можно сверить в документации API Pterodactyl; подробности реализации ограничений зависят также от контейнера и конфигурации системы.

Используйте последовательный цикл:

  • Запустите отдельный игровой экземпляр на нужной версии и с привычными параметрами.
  • Повторите сценарий, который действительно вызывает нагрузку: например, обычную активную игру или обработку характерного внутриигрового события.
  • Запишите показания CPU контейнера одновременно с задержками, сообщениями и предупреждениями в логах сервера.
  • Если игровой процесс упирается в заданное ограничение, измените лимит именно этого экземпляра.
  • Повторите тот же сценарий, чтобы сравнение «до и после» имело смысл.
  • Затем запустите другие экземпляры и проверьте, не меняется ли поведение первого под совместной нагрузкой.

Для наблюдения за контейнерами подходит docker stats; описание отображаемых показателей приведено в справке Docker по статистике контейнеров. Пример вызова:

docker stats --no-stream

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

Не делайте вывод о причине только по усреднённому показателю: короткий всплеск может не совпасть с интервалом наблюдения, а среднее значение не всегда отражает задержки, заметные игрокам. Важна повторяемость проблемы в одном и том же сценарии.

Память: пределы экземпляров плюс резерв узла

Распределение памяти между игровыми серверами должно учитывать и верхнюю границу каждого контейнера, и память, необходимую системе. Если раздать экземплярам весь объём физической памяти, узлу может не хватить ресурса для операционной системы и служб, необходимых для запуска и мониторинга игр.

Для каждого экземпляра фиксируйте фактическую кривую потребления, параметры запуска, обычную нагрузку и наблюдаемый пик. Не принимайте стартовый объём процесса за достаточное значение для продолжительной игры: использование памяти может меняться по мере загрузки мира, работы модификаций и выполнения игровых событий.

Настраивайте границы по следующему принципу:

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

У контейнерных ограничений есть системный уровень: механизм cgroup v2 описан в документации ядра Linux. Также учитывайте, что ограничения памяти контейнера влияют на поведение процесса при нехватке ресурса; детали описаны в документации Docker об ограничении памяти. Настройки панели, контейнера и операционной системы нужно оценивать вместе, а не считать независимыми переключателями.

Чтобы не потерять контекст, записывайте для каждого игрового процесса не только установленный предел, но и измеренный максимум, версию игры и условия теста. Такой учёт не позволяет случайно принять кратковременное снижение нагрузки за доказательство, что выделенная память больше не требуется.

Диск и сеть: показатели, которые легко упустить

План распределения ресурсов неполон, если в нём есть только CPU и память. Миры, карты, журналы, обновления и временные файлы могут постепенно занимать место. Кроме того, несколько серверов способны одновременно обращаться к диску — например, при сохранении мира или обновлении. Поэтому проверяйте не только объём занятого пространства, но и задержки, ошибки ввода-вывода и совпадение дисковой активности с жалобами на игровой процесс.

Для каждого экземпляра укажите:

  • где хранятся игровые данные, карты, журналы и файлы обновления;
  • как меняется объём занятых данных после характерного игрового события;
  • возникает ли конкуренция за чтение и запись, когда несколько серверов активны одновременно;
  • как сохраняются копии данных вне основного диска.

Размещение нескольких миров на одном хранилище не заменяет резервного копирования. Перед плановым изменением конфигурации проверьте восстановление данных из внешней копии. Для общей оценки планирования ресурсов и дисков можно воспользоваться также памяткой о памяти и диске.

Сеть рассчитывайте по измерениям и характерному числу одновременных подключений в вашем сценарии, а не по универсальному обещанию «столько-то игроков на таком-то канале». Для игры, прямой трансляции и раздачи файлов профиль трафика различается. Снимайте фактический трафик при репрезентативной нагрузке, фиксируйте пики и проверяйте, совпадают ли они с просадками у игроков.

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

Шаги проверки: от отдельного сервера к совместной нагрузке

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

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

Второй шаг — проверьте ограничения. Сопоставьте назначенные контейнеру пределы с пиками потребления. Если значения регулярно достигают границы, уточните, является ли ограничение причиной проблемы, а не только совпадающим показателем.

Третий шаг — включите соседние экземпляры. Запускайте их последовательно, наблюдая, в какой момент меняются показатели уже работающих серверов. Если проблема появляется только после запуска конкретного соседа, повторите тест с той же комбинацией.

Четвёртый шаг — проверьте одновременные события. Сохранение миров, загрузки и обновления могут приходиться на одно время. По возможности воспроизведите именно такую комбинацию и отдельно отметьте, что происходило с CPU, памятью и диском.

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

Шестой шаг — оформите результат и запланируйте повторную проверку. Возвращайтесь к измерениям после изменения версии игры, набора модификаций, схемы размещения или характера нагрузки. Инструкцию по добавлению узла в Pterodactyl можно сверить в официальном руководстве по настройке узлов.

Матрица ресурсов: сравните способы распределения

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

Подход Как устроено распределение Когда подходит Основной риск
Равные лимиты всем экземплярам Каждому серверу назначаются одинаковые границы без проверки его профиля Только как временная начальная настройка для последующего тестирования Нагруженный сервер может упереться в предел, а слабонагруженный — получить лишний ресурс
Лимиты по отдельному тесту каждого экземпляра CPU и память назначаются после наблюдения за соответствующим сервером Когда экземпляры различаются по игре, конфигурации или нагрузке Отдельный тест не показывает поведение при совместной нагрузке
Лимиты по тесту и совместному пику Индивидуальные измерения сравниваются с нагрузкой всех серверов и запасом узла Для долгосрочной работы нескольких игровых экземпляров Требуется повторять измерения после существенных изменений нагрузки

Для записи используйте матрицу. Поля не заменяют мониторинг, но помогают сравнить одинаковые сценарии и увидеть, какие экземпляры проверены только отдельно, а какие — совместно.

Экземпляр и версия Сценарий проверки Пик CPU Пик памяти Занято на диске Порт Вывод и дата повторной проверки
Заполните по конфигурации Обычная активная нагрузка По данным мониторинга По данным мониторинга По данным узла По настройке сервера Укажите наблюдение и дату
Заполните по конфигурации Характерный пик По данным мониторинга По данным мониторинга По данным узла По настройке сервера Укажите наблюдение и дату
Заполните по конфигурации Совместный запуск экземпляров По данным мониторинга По данным мониторинга По данным узла По настройке сервера Укажите наблюдение и дату

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

Когда менять лимиты, а когда пересматривать узел

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

Ищите причину по наблюдаемому признаку:

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

Число экземпляров, которое выдержит машина, нельзя вывести из одного только числа ядер или объёма памяти: оно зависит от ваших игровых процессов и их совместной нагрузки. Для Pterodactyl мультисерверное управление становится предсказуемее, когда каждое изменение опирается на измерения, а общий резерв узла проверяется после добавления или перенастройки экземпляра.

При миграции с VPS на выделенную машину сравнивайте не только характеристики CPU. Учитывайте объём памяти, дисковую нагрузку всех миров и необходимый сетевой профиль. Также проверьте условия размещения и расчёта расходов: в материале о периодах оплаты разобрано, как сопоставлять расчётный период с потребностями проекта.

FAQ: вместимость и конкуренция за ресурсы

Как определить, сколько серверов разместить на одном узле?

Ориентируйтесь на совместную нагрузку измеренных экземпляров, а не на количество слотов в панели. Отдельно запущенный сервер показывает только свой профиль; после этого включите остальные экземпляры и повторите характерный сценарий. Добавляйте нагрузку лишь пока остаётся проверенный резерв для системы и пиков. Если изменились версии или настройки игр, результаты прежнего теста могут уже не описывать текущую конфигурацию.

Как подобрать CPU-лимиты для нескольких игр?

Не распределяйте процессорное время поровну только потому, что экземпляры находятся на одном узле. Записывайте показатели контейнера и сопоставляйте их с игровыми задержками, логами и поведением соседних серверов. Затем изменяйте предел отдельного экземпляра и повторяйте тот же тест. Контейнерное ограничение задаёт границу потребления, а не закрепляет за игрой собственное ядро.

Нужно ли выделять память жёстко или оставлять общий резерв?

Задайте каждому контейнеру верхнюю границу по его измеренному пику и настройкам запуска, но оставьте ресурс для операционной системы и служб узла. Если сервер регулярно подходит к лимиту, проверьте логи и конфигурацию игры; если это происходит одновременно у нескольких экземпляров — оцените общий план памяти. Завершение процесса не всегда означает, что достаточно просто увеличить его предел без проверки остальных нагрузок.

Как проверить, что игровые серверы конкурируют друг с другом?

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

Выбор между VPS и отдельной машиной

Общие VPS и игровые панели могут быть удобны, если проект небольшой, нагрузка непостоянная или сервер нужен на короткий срок. Но при длительной одновременной работе нескольких экземпляров у такого подхода есть ограничения: вычислительные ресурсы могут делиться с соседними задачами, параметры диска и системы могут быть менее гибкими, а условия учёта трафика и доступных ресурсов требуют отдельной проверки. Если вам нужна независимая ресурсная база для постоянно работающих игровых серверов, имеет смысл сверить их фактические пики с конфигурацией выделенного AMD-сервера OSFP Cloud.

Перед выбором сопоставьте с ресурсной матрицей CPU, память, диски, сетевой вариант, операционную систему и стоимость по актуальной таблице продуктов. Не исходите из обещанного числа игровых серверов или игроков: необходимую конфигурацию определяют измерения именно ваших экземпляров и совместный тест на предполагаемой машине. Для проекта с лёгкой или временной нагрузкой аренда физического сервера может оказаться избыточной; для нескольких длительно работающих экземпляров сравнение с доступными вариантами OSFP Cloud поможет проверить соответствие без неподтверждённых оценок вместимости.

Вопросы

Сколько игровых серверов можно держать на одной машине в Pterodactyl?

Универсального количества нет: экземпляры отличаются игровым движком, настройками, пиковыми событиями и дисковой активностью. Сначала запустите каждый сервер на нужной версии и с характерной нагрузкой, запишите потребление CPU, памяти и диска, затем проверьте совместную работу. Добавляйте экземпляры только пока измеренный общий пик оставляет резерв для системы и всплесков.

Как ограничить CPU для нескольких игровых серверов в Pterodactyl?

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

Память игрового сервера выделять фиксированно каждому экземпляру или оставлять общий запас?

Для каждого экземпляра задайте верхнюю границу, исходя из фактического пика и параметров запуска, но не распределяйте всю физическую память. Общий резерв нужен операционной системе и сопутствующим службам; его размер следует определять по мониторингу вашей машины. Если процесс регулярно приближается к лимиту или завершается, сначала проверьте его конфигурацию и общий план, а не копируйте чужую фиксированную норму.

Как увидеть, что несколько игровых серверов конкурируют за CPU или память?

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

Разместите игровые серверы на физической машине OSFP Cloud

В вашем распоряжении — целый сервер AMD EPYC 7543P с 32 ядрами и 64 потоками, без разделения процессорных ресурсов с другими арендаторами.

от $462 / мес.