Використання Aikar’s Flags для Minecraft

Востаннє змінено 13 Березня 2024 в Minecraft
  • 8 min read
  • 3054
  • 0
Spartak Itskovich

Spartak Itskovich

Game Content Writer

Aikar's Flags

Це набір налаштувань, котрий впливає на процес запуска серверу, він створений для оптимізації ядра Вашого сервера Майнкрафт. Усіляка оптимізація гри та ігрового сервера позитивно впливає на їх роботу, тому при наявності різноманітних програм та функцій - їх можна вільно використовувати, що впливатиме позитивно на ігровий процес гравців Вашого сервера та його підтримкою.

Minecraft title скриншот

TIP

Ще не маєте власного сервера? Замовте сервер Майнкрафт саме зараз

Як використовувати Aikar's Flags?

Вам потрібно прописати певні командні строки (скрипт) в параметри запуску для активування Aikar's Flags. Godlike використовує флаги Айкару за змовченням, тож щоб відредагувати параметри "під себе" перейдіть до розділу Startup Settings та до рядка налаштувань Additional Startup Parameters, він находиться в ігровій панелі Вашого сервера:

налаштування параметрів запуску сервера

Пропишіть або відредагуйте ці команди:

-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200
-XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch
-XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M
-XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4
-XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90
-XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem
-XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs
-Daikars.new.flags=true

CAUTION

Не використовуйте для цього всю оперативну пам'ять Вашого сервера! При встановленні значень Xms та Xmx, якщо у вас зазначено 8 ГБ пам'яті, краще зменшити значення Xmx та Xms приблизно на 1000-1500 МБ, щоб уникнути вичерпання пам'яті або припинення роботи Вашого сервера. Ми рекомендуємо використовувати принаймні 6-10, в залежності від Вашого тарифу. За бажанням - уточнюйте всі питання з нашим супортом

Проблеми з використанням

Якщо у Вас не працюють флаги, через користування старою або іншою версією Java, ми маємо рішення. Пропишіть ці строки відповідно до Вашої версії Java:

Java 8-10

-Xloggc:gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps
-XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=1M

Java 11+

-Xlog:gc*:logs/gc.log:time,uptime:filecount=5,filesize=1M

Пояснення відповідно коду та його використання

 

-Xms -Xmx: Параметр -Xms задає початковий розмір оперативної пам'яті, яка буде виділятися при старті сервера.
Параметр -Xmx навпаки, задає максимальне значення, яке буде споживати сервер.
UnlockExperimentalVMOptions Параметр, що використовується в налаштуваннях, який дає змогу розблокувати опції, що перебувають в експериментальному режимі. Потрібно для деяких нижче наведених параметрів.
G1NewSizePercent: Якщо ви встановите G1NewSizePercent на 5%, це означає, що під час запуску вашого сервера 5% від усієї пам'яті, виділеної для роботи вашого сервера, буде виділено для нових об'єктів. Це допомагає оптимізувати використання пам'яті та управління сміттям на вашому сервері, що може підвищити його продуктивність і зменшити затримки в роботі.
G1MixedGCLiveThresholdPercent: Параметр, який ви можете налаштувати, щоб визначити, коли збирач сміття G1 повинен запустити змішану (Mixed) збірку сміття.
Наприклад, якщо G1MixedGCLiveThresholdPercent встановлено на 65%, це означає, що збірку сміття Mixed буде запущено, коли обсяг живих даних досягне 65% від усього обсягу пам'яті.
Налаштування цього параметра допомагає збалансувати продуктивність і використання пам'яті вашого сервера, оскільки збирання сміття Mixed може допомогти у зменшенні фрагментації пам'яті та зниженні затримок під час виконання операцій збирання сміття. (Підходить для старіших версій)
MaxTenuringThreshold=1 Параметр MaxTenuringThreshold дає змогу визначити, скільки разів об'єкт має "пережити" процес збирання сміття в молодому поколінні, перш ніж його буде переміщено в старе покоління. Якщо MaxTenuringThreshold=1 , то об'єкти будуть переміщені в старе покоління вже після першого проходу через молоде покоління. Це важливо, тому що деякі об'єкти, які "переживають" збирання сміття в молодому поколінні багато разів, можуть бути об'єктами, що живуть довго, які продовжують використовуватися на сервері. Іншими словами, MaxTenuringThreshold керує тим, наскільки довго об'єкти залишаються в молодому поколінні, перш ніж перейти в старе покоління.
SurvivorRatio=32: Кожна область Survivor використовується для зберігання об'єктів, які "пережили" одну ітерацію збирання сміття в молодому поколінні. Зазвичай молоде покоління ділиться на дві частини: Survivor1 і Survivor2. Область Survivor, у яку об'єкти переміщуються, залежить від того, скільки часу вони прожили в молодому поколінні.
Параметр SurvivorRatio визначає, яку кількість пам'яті виділено для кожної області Survivor у відношенні до загального розміру молодого покоління. Наприклад, якщо SurvivorRatio=32, це означає, що кожна область Survivor займає 1/32 від загального розміру молодого покоління.Оскільки ми радикально зменшили MaxTenuringThreshold, ми радикально зменшимо використання простору Survivor.
AlwaysPreTouch: Коли AlwaysPreTouch встановлено в true, JVM заповнює всю доступну пам'ять серверу, щоб забезпечити миттєвий доступ до об'єктів. Однак варто зауважити, що використання цього параметра може призвести до збільшення часу запуску серверу, особливо якщо сервер використовує велику кількість пам'яті. Також це може потребувати додаткових ресурсів системи. Тому слід розглядати використання цього параметра лише тоді, коли миттєвий доступ до пам'яті є дуже важливим для продуктивності серверу.AlwaysPreTouch налаштовує пам'ять і зарезервовує її при запуску процесу, забезпечуючи її континуїтет, поліпшуючи ефективність. Це поліпшує швидкість доступу до пам'яті операційної системи. Обов'язково використовуйте Transparent Huge Pages
+DisableExplicitGC Використання +DisableExplicitGC може бути корисним у випадках, коли на сервері викликається збірка сміття дуже часто або у неконтрольованих місцях, що може призводити до нестабільної роботи серверу або великих витрат ресурсів. Це дозволяє JVM самостійно вирішувати, коли і як часто виконувати збірку сміття, оптимізуючи його для кращої продуктивності.Проте, варто пам'ятати, що вимкнення явного виклику збірки сміття може призвести до накопичення сміття в пам'яті, яке не буде видалене вчасно, що може призвести до переповнення пам'яті або збільшення часу, потрібного для вирішення збірки сміття пізніше. Тому варто ретельно розглядати використання цього параметра, забезпечуючи адекватне управління пам'яттю на вашому сервері.
MaxGCPauseMillis=200 Параметр MaxGCPauseMillis встановлює максимальний допустимий час паузи в мілісекундах під час виконання збірки сміття (Garbage Collection). Його ціль - забезпечити контроль над часом паузи, який відводиться на операції збирання сміття, щоб уникнути неприйнятних затримок у роботі серверу.Коли MaxGCPauseMillis встановлено на значення, наприклад, 200, це означає, що JVM буде старатися утримувати час паузи при збиранні сміття на рівні не більше 200 мілісекунд. Якщо збірка сміття займає більше часу, JVM може вжити додаткових заходів для зменшення часу паузи, таких як розподіл операцій збірки сміття на більш короткі інтервали або використання інших стратегій оптимізації.Проте слід мати на увазі, що зменшення часу паузи при збірці сміття може призвести до збільшення ресурсів, витрачених на саму збірку сміття, тому варто ретельно підбирати значення MaxGCPauseMillis, забезпечуючи баланс між продуктивністю і використанням ресурсів.
+ParallelRefProcEnabled: +ParallelRefProcEnabled вказує на включення паралельної обробки посилань (Parallel Reference Processing). Це може бути параметром, який дозволяє Minecraft серверу використовувати більш ефективні методи для управління пам'яттю та ресурсами, що може покращити продуктивність та зменшити затримки в грі.Включення паралельної обробки посилань може допомогти у кращому управлінні об'єктами та пам'яттю, що використовується у грі. Це особливо корисно для серверів з великою кількістю гравців або з великим обсягом світу, де ефективне використання ресурсів є ключовим для плавної роботи.Проте, включення цього параметра може збільшити використання ресурсів процесора, тому рекомендується ретельно розглядати його використання з урахуванням можливостей та потреб вашого сервера.
G1RSetUpdatingPauseTimePercent=5 G1RSetUpdatingPauseTimePercent=5 вказує на те, що відсоток часу зупинки, що витрачається на оновлення RSet (Remembered Set), становить 5% під час використання G1 Garbage Collector (G1 GC).
Використання G1 GC з параметром G1RSetUpdatingPauseTimePercent=5 може допомогти зменшити вплив збірки сміття на продуктивність сервера, контролюючи час зупинки, що витрачається на оновлення RSet. Це може допомогти забезпечити плавну роботу сервера та уникнути неприйнятних затримок для гравців.
G1MixedGCCountTarget=4: Встановлення G1MixedGCCountTarget=4 означає, що G1 GC ставить за мету виконати чотири змішаних збірки сміття, перш ніж вважати, що цей режим збірки сміття є ефективним.
За замовчуванням - 8. Тому що ми прагнемо збирати повільніше, з меншим використанням старого покоління.
G1HeapRegionSize=8M+: G1HeapRegionSize=8M вказує на розмір кожного Heap Region, коли використовується G1 Garbage Collector (G1 GC).Heap Region - це частини пам'яті, на які JVM розділяє всю доступну пам'ять під час роботи з G1 GC. Вказавши G1HeapRegionSize=8M, ви задаєте, що кожен Heap Region повинен мати розмір приблизно 8 мегабайт.Встановлення розміру Heap Region на 8 мегабайт є досить звичайним. Такий розмір може бути оптимальним для балансу між швидкодією та керованістю пам'яті, особливо при великій кількості одночасно активних гравців та об'єктів у світі.
+PerfDisableSharedMem: +PerfDisableSharedMem вказує на те, що вимикається використання спільної пам'яті для профілювання в реальному часі (real-time profiling).Вимкнення параметра +PerfDisableSharedMem може бути використано для покращення продуктивності сервера, особливо у випадку, коли реального часу профілювання не потрібно або не використовується

TIP

Ви можете дізнатися про те, як підвищити RAM та інші функції для Вашого сервера

Тепер Ви знаєте про функціонал Aikar's Flags та можете використовувати його для роботи Вашого сервера Minecraft, наша команда завжди рада допомогти Вам з усіма питаннями! Грайте разом з GODLIKE.

Оренда серверів Minecraft

Створи свій сервер

Test 3 days

Оцініть статтю за 5-бальною шкалою

Будь першим, хто оцінить цю новину!
Найшли помилку? Виділіть її та натисніть Ctrl + Enter, щоб повідомити нас.
Demo
Game
Panel
×

Повідомити про помилку

Текст помилки

Ваш варіант