1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Туториал Ускорение работы Java [Аргументы]

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем Starr, 30 сен 2015.

  1. oleg57zls

    oleg57zls Старожил Пользователь

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Как можно оптимизировать данную строку запуска?
    Код:
    "{JAVA}" -server -Xms{START_MEMORY}M -Xmx{MAX_MEMORY}M -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing -XX:+CMSParallelRemarkEnabled -XX:MaxGCPauseMillis=30 -XX:TargetSurvivorRatio=90 -XX:+AggressiveOpts -XX:+UseFastAccessorMethods -XX:+UseBiasedLocking -Djline.terminal=jline.UnsupportedTerminal -Dfml.ignoreInvalidMinecraftCertificates=true -Dfml.ignorePatchDiscrepancies=true -Dfml.doNotBackup=true -noverify -Dfile.encoding=UTF-8 -jar "{JAR}" nogui
    Java 8, Машинка: http://www.soyoustart.com/ie/offers/e3-ssd-3.xml
    Стоят 4 сервера. Все запускаются одной и той-же строкой запуска.
     
  2. Автор темы
    Starr

    Starr Активный участник Пользователь

    Баллы:
    98
    Убери это -XX:+DisableExplicitGC и это -XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing -XX:+CMSParallelRemarkEnabled.

    Ну для начала лучше выделить -Xmn128M. Если 7 жаба, то выдели -XX:MaxPermSize=128M.
    На вкус можешь выбрать заместо ConcMarkSweepGC - G1GC, но советую все-таки первый. Если пару ядер/потоков у процессора - выдели пару потоков под сборщик мусора -XX:ConcGCThreads=n.
    Добавляй XX:+UseInterpreter, XX:+UseStringCache, XX:+UseFastEmptyMethods, XX:+RewriteFrequentPairs, XX:+UseInlineCaches, XX:SurvivorRatio=8. Если на серваке стоит апач, нгинх, или другое, то еще поставь приоритет -XX:+UseThreadPriorities, XX:ThreadPriorityPolicy=99.

    В общем, что-то такое должно выйти.
    Код:
    "{JAVA}" -server -Xms{START_MEMORY}M -Xmx{MAX_MEMORY}M -Xmn128M -XX:MaxPermSize=128M -XX:+UseConcMarkSweepGC -XX:ConcGCThreads=4 -XX:+CMSIncrementalMode -XX:MaxGCPauseMillis=30 -XX:TargetSurvivorRatio=90 -XX:+AggressiveOpts -XX:+UseFastAccessorMethods -XX:+UseInterpreter -XX:+UseStringCache -XX:+UseFastEmptyMethods -XX:+RewriteFrequentPairs -XX:+UseInlineCaches -XX:SurvivorRatio=8 -XX:+UseBiasedLocking -XX:+UseThreadPriorities, XX:ThreadPriorityPolicy=99 -Djline.terminal=jline.UnsupportedTerminal -Dfml.ignoreInvalidMinecraftCertificates=true -Dfml.ignorePatchDiscrepancies=true -Dfml.doNotBackup=true -noverify -Dfile.encoding=UTF-8 -jar "{JAR}" nogui
     
  3. oleg57zls

    oleg57zls Старожил Пользователь

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Спасибо, попробую.
    02.10 14:31:35 [Server] INFO Error: A fatal exception has occurred. Program will exit.
    02.10 14:31:35 [Server] INFO Error: Could not create the Java Virtual Machine.
    02.10 14:31:35 [Server] INFO Did you mean '(+/-)UseThreadPriorities'?
    02.10 14:31:35 [Server] INFO Unrecognized VM option 'UseThreadPriorities,'
     
  4. dirt34

    dirt34 Старожил Пользователь

    Баллы:
    143
    Skype:
    alucid2
    Имя в Minecraft:
    dirt34
    поставь перед "UseThreadPriorities" + или -...
     
  5. oleg57zls

    oleg57zls Старожил Пользователь

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Так в том то и дело, что оно и стоит -XX:+UseThreadPriorities
     
  6. Автор темы
    Starr

    Starr Активный участник Пользователь

    Баллы:
    98
    Я там запятую вставил случайно, убери ее из строки запуска)
     
  7. oleg57zls

    oleg57zls Старожил Пользователь

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Оу.. я ее не заметил.
    Could not find or load main class XX:ThreadPriorityPolicy=99
     
  8. Dereku

    Dereku Старожил Пользователь

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Линк лишь для примера. Если особо горит, можно смотреть глубже. Сим постом как бэ указал, что обозначение и употребление данного флага не всегда может положительно сказаться на производительности.
    Ну не советуй мусор, хоспаде. Некоторые флаги, что ты указал, уже включены.
    Вот вам трушный запускатор.
    Код:
    "{JAVA}" -server -Xms{MAX_MEMORY / 8}M -Xmx{MAX_MEMORY}M -Xmn128M -XX:MaxPermSize=128M -Dfml.ignoreInvalidMinecraftCertificates=true -Dfml.ignorePatchDiscrepancies=true -Dfml.doNotBackup=true -Dfile.encoding=UTF-8 -jar "{JAR}" nogui nojline
     
  9. Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    А ещё может отрицательно сказаться на стабильности.
    А запусктор нифига не трушный, ибо тогда будет по дефолту ParallelGC у которого stop-the-world пауза при сборке мусора исчисляется секундами.
     
  10. Dereku

    Dereku Старожил Пользователь

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    У себя такой проблемы на ванили не наблюдаю. Ну, или по крайней мере не застал.
    Алсо, вбрось более менее вменяемый gc, коли не трудно.
     
  11. oleg57zls

    oleg57zls Старожил Пользователь

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    {MAX_MEMORY / 8}M что это? {MAX_MEMORY} задает значение для строки, а это значение редактируется через ПУ. Но опустим, зачем делить память?
     
  12. Автор темы
    Starr

    Starr Активный участник Пользователь

    Баллы:
    98
    Чтобы получить минимально выделяемую память. Оно же в -Xms делится.
     
  13. Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Срачик о GC эта та ещё фигня.
    Вообще на жабе 8 лучше G1GC, до - CMS. Правда их оба всё равно надо настраивать из-за перекоса использования памяти у майнкрафт сервера, очень много долгоживущих объектов.
     
  14. Juice987

    Juice987 Активный участник Пользователь

    Баллы:
    76
    юзаю самый простой запускатор,смысл юзать навороченные ? какой + ?
    если можно то посоветуйте для ванили на 8 яву тру запускатор
     
  15. Автор темы
    Starr

    Starr Активный участник Пользователь

    Баллы:
    98
    Есть смысл в увеличении производительности.
    Конечно, если руки из того места растут, и ты подберешь ту комбинацию аргументов, которая у тебя будет работать быстрее всех.
    Немного обновил описания функций, добавил пару новых функций, также написал небольшой туторчик для gc.
    Жду замечаний, если таковые имеются)
     
  16. KyBbIPoK

    KyBbIPoK Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    KyBbIPoK
    Ну и сама Java8 повышает производительность.
     
  17. Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Не всегда, таки выбирать GC надо.
     
  18. Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    На клиенте разницы и не будет, не то количество оперативки чтобы вообще что-то сильно менялось.
     
  19. Dereku

    Dereku Старожил Пользователь

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Во оно как. Беда, дес.
    Покурю за G1GC, а то интересно уж.
     
  20. Dikey

    Dikey Старожил Пользователь

    Баллы:
    103
    -Xincgc
    Enables incremental garbage collection. This option was deprecated in JDK 8 with no replacement.
     

Поделиться этой страницей