Опції запуску
Це спеціальні налаштування, які дозволяють оптимізувати запуск і роботу сервера у майбутньому.
Обов'язково враховуйте, що аргументи повинні бути обрані індивідуально для обладнання сервера, а також для версії Java.
Почнемо з невеликого прикладу:
Це найпоширеніший сценарій для запуску ядра сервера, який не містить жодних додаткових аргументів.
Тепер про самі параметри
-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.
Колектори різного «сміття»
-XX:+UseSerialGC
— вмикає збирач сміття, який працює на 1 потоці.-XX:+UseConcMarkSweepGC
— вмикає збирач сміття, який використовує потужність декількох ядер процесора.-XX:ConcGCThreads=2
— кількість потоків для збирача сміття.-XX:+UseG1GC
— активує новий збирач сміття, який ділить всю пам'ять на конкретні секції, і завдяки використанню декількох ядер збирає невикористану пам'ять з усіх секцій.-XX:G1HeapRegionSize=32
— кількість оперативної пам'яті, виділеної для кожної секції.-XX:AutoGCSelectPauseMillis=2500
— кількість часу в мілісекундах між викликами автоматично вибраного збирача сміття.-XX:MaxGCPauseMillis=1000
— тривалість часу в мілісекундах між викликами певного збирача сміття. Для G1 GC виконує роль максимального встановленого інтервалу.-XX:SurvivorRatio=8
— кількість радіусів для існування виживаючих об'єктів (чим менше число, тим більше місця). Більше місця дозволяє новоствореним об'єктам існувати довше перед збором сміття.-XX:TargetSurvivorRatio=90
— кількість місця у відсотках для виживаючих об'єктів, що дозволить очистити більше невикористаних об'єктів під час збору сміття.-XX:+UseBiasedLocking
— прискорення синхронізації об'єктів на багатоядерних процесорах.-XX:+UseFastAccessorMethods
— використання оптимізованих версій викликів методів.-XX:+UseFastEmptyMethods
— виключення порожніх методів із компіляції.-XX:+UseCompressedOops
— зменшення розміру покажчика, заголовків та зсувів всередині створених об'єктів. Залежно від коду, це заощадить 20-60% оперативної пам'яті.
Загальний сценарій запуску сервера
В цілому, ми отримали подібний сценарій для запуску сервера:
Last updated