База знаний хостинг-провайдера QWINS.co
  • Общая информация
    • База знаний.
    • Ответы на частозадаваемые вопросы.
    • Что такое IOPS?
  • Обслуживание
    • Регистрация в панели управления и дальнейшее управление ей.
      • Восстановление пароля от панели управления
      • Подключение двухфакторной аутентификации в панели управления
    • Как заказать услугу?
    • Создание тикета в панели управления
  • Управление услугой в VMmanager
    • Переустановка ОС
    • Нагрузка на сервере
    • Изменение пароля от сервера
  • Настройка ОС и ПО
    • Подключение к серверу через SSH
    • Подключение через SSH ключи
    • Java [Linux]
    • Screen
    • Развертывание MikroTik RouterOS на VDS
    • Измерение скорости сети
  • Windows
    • Ограничение доступа RDP по IP-адресу
    • Подключение к серверу по RDP
    • Скачивание файлов на Windows Server 2019
    • Брут-форсинг Windows на выделенных серверов
    • Отключение гибернации
  • VPN и безопаность
    • Установка TorrServer
  • Настройка сети и Безопасность
    • Запрет взаимодействия с приватными сетями
    • Работа с TCPDump
    • Изменения значения MTU
    • Настройка IPTables
    • [DNS] Temporary failure resolving...
  • Мониторинг системы
    • Мониторинг трафика через VnStat
    • Как собрать трассировку?
    • Получение серийных номеров накопителей
  • Администрирование и бэкапы
    • Установка FTP-сервера
    • Монтирование накопителей Linux
  • Веб-разработка
    • Установка Apache2
    • Установка Nginx
    • Установка PHP
    • Установка MySQL
    • Подключение phpMyAdmin
    • Генерация Let's Encrypt SSL
  • Minecraft
    • Установка сервера Minecraft Java
    • Установка сервера Minecraft Bedrock/PE
    • Установка сервера BungeeCord
    • Настройка server.properties
    • Установка иконки на сервер
    • Параметры запуска
    • Установка ресурспака на сервер
Powered by GitBook
On this page
  • Теперь о самих параметрах
  • Основные флаги
  • Выделение оперативной памяти
  • Сборщики различного «мусора‎»
  1. Minecraft

Параметры запуска

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

PreviousУстановка иконки на серверNextУстановка ресурспака на сервер

Last updated 5 months ago

Обязательно учтите, что аргументы следует подбирать индивидуально под оборудование сервера, а также версию Java.

Начнем с небольшого примера:

java -jar server.jar

Это самый обычный скрипт для запуска ядра сервера, в котором не указаны никакие дополнительные аргументы.

Теперь о самих параметрах

-jar — этот аргумент указывает тип запускаемого Java-файла.

name.jar — название запускаемого файла.

nogui — осуществляет запуск сервера без графического интерфейса, потому что он нам попросту не нужен.

Основные флаги

-xincgc — активирует «‎сборщик мусора», который время от времени будет выгружать неиспользуемую оперативную память. Тип сборщика автоматически выбирается в зависимости от версии Java.

-server — активирует серверную версию Java, в которой по умолчанию включена функция поддержки экспериментальных флагов. Также ускоряет компиляцию классов, что дает прирост в производительности, но увеличивает время запуска сервера (поддерживаются только 64-битные системы).

Выделение оперативной памяти

Аргументы поддерживают как «M‎» для мегабайтов, так и «‎G» для гигабайтов. Например, аргумент Xms2G будет запускать сервер с 2-мя гигабайтами оперативной памяти.

-Xmx0000M — количество максимальной выделяемой памяти для сервера.

-Xms0000M — количество минимальной выделяемой памяти для сервера.

-Xmn0000M — количество выделяемой памяти для временных объектов

-XX:MaxPermSize=0000M — количество памяти для PermGen Space (не работает на Java 8).

-XX:SharedReadOnlySize=0000M — количество памяти под read-only-место в PermGen.

Сборщики различного «мусора‎»

Для одноядерных процессоров используйте любой сборщик мусора, но не указывайте количество потоков для него. На данный момент лучшим сборщиком является ConcMarkSweepGC. Чем больше число SurvivorRatio — тем лучше, соответственно тем меньше старые объекты будут захламлять Оперативную память. Чем больше значение TargetSurvivorRatio, тем большее количество объектов будет очищаться (желательно не ставить более 90). Использовать MaxGCPauseMillis лучше всего с G1GC или с конкретно указанным сборщиком мусора. AutoGCSelectPauseMillis — со сборщиком, который система сама выберет. G1HeapRegionSize лучше не устанавливать, java сама подберет оптимальное значение, использовать рекомендуем только в случае, если Вы знаете, что делаете.

-XX:+UseSerialGC — включает сборщик мусора, который работает в 1-ом потоке.

-XX:+UseConcMarkSweepGC — включает сборщик мусора, который использует мощь нескольких ядер процессора.

-XX:ConcGCThreads=2 — количество потоков для сборщика мусора.

-XX:+UseG1GC — активирует новый сборщик мусора, который разделяет всю память на определенные участки, и, благодаря использованию нескольких ядер, собирает со всех участков неиспользуемую память.

-XX:G1HeapRegionSize=32 — количество Оперативной памяти, выделяемой под каждый участок.

-XX:AutoGCSelectPauseMillis=2500 — количество времени в миллисекундах между вызовом автоматически выбранного сборщика мусора.

-XX:MaxGCPauseMillis=1000 — длительность времени в миллисекундах между вызовом конкретного сборщика мусора. Для G1GC исполняет роль максимально установленного промежутка.

-XX:SurvivorRatio=8 — количество радиуса для существования выживающих объектов (чем меньше число, тем больше места). Большее место дает возможность недавно сгенерированным объектам существовать дольше перед очисткой мусора.

-XX:TargetSurvivorRatio=90 — количество места в процентах под выживающие объекты, что позволит очищать больше неиспользуемых объектов во время сборки мусора.

-XX:+UseBiasedLocking — ускорение синхронизации объектов на многоядерных процессорах.

-XX:+UseFastAccessorMethods — использование оптимизированных версий вызова методов.

-XX:+UseFastEmptyMethods — исключение из компиляции пустых методов.

XX:+UseCompressedOops — уменьшение размеров указателя, заголовков, а также сдвигов внутри созданных объектов. В зависимости от кода сэкономит 20-60% Оперативной памяти.

В общем итоге у нас получился подобный скрипт для запуска сервера:

java -Xincgc -Xms512M -Xmx4G -XX:MaxPermSize=128M -XX:SharedReadOnlySize=30M -XX:+UseConcMarkSweepGC -XX:+UseBiasedLocking -XX:+UseFastAccessorMethods -XX:+UseCompressedOops -jar server.jar nogui