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

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

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

  1. Автор темы
    Starr

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

    Баллы:
    98
    ВНИМАНИЕ! Используйте только при крайней необходимости. Не стоит страдать этой уйнёй, автору просто нечем было заняться.

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

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

    ВНИМАНИЕ! Для того, чтобы добиться максимальной производительности, лучше выбрать определенные аргументы, нежели вписывать все сразу.
    На разных версиях Java и на разном железе - аргументы ведут себя по-разному. Так что лучше после установки аргумента каждый раз перепроверять, улучшилась производительность, или нет.


    Пример строки запуска:
    Код:
    java -аргумент1 -аргумент2 -аргументN server.jar
    Строка запуска моего сервера:
    Код:
    java -Xmx5G -Xmn192M -XX:+UseConcMarkSweepGC -jar server.jar
    Аргументы моего клиента:
    Код:
    -Xmn256M
    Выделение Java под конкретные ядра (только Linux)

    Перед командой запуска сервера, добавьте эту команду:

    Код:
    taskset -c [ядра] [команда запуска]
    [ядра] = 0,1,2,3 - указывать обязательно в таком формате.
    Выражаем благодарность @scrik78



    Список аргументов:

    Основные флаги
    Выделение памяти
    Сборщики мусора
    Это больная тема, советую экспериментировать, чтобы добиться хоть чего-то стоящего, а не наоборот, ухудшить производительность.
    Экспериментальные аргументы

    Надеюсь, мой туториал вам пригодился :)
     
    Последнее редактирование: 1 апр 2017
  2. Быстрая раскрутка сервера Minecraft
  3. dirt34

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

    Баллы:
    143
    Skype:
    alucid2
    Имя в Minecraft:
    dirt34
    Полезно очень даже...Эти аргументы подойдут для клиента?
     
  4. Автор темы
    Starr

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

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

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

    Баллы:
    143
    Skype:
    alucid2
    Имя в Minecraft:
    dirt34
    GC это Габич коллектор?
     
  6. MySt1k

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

    Баллы:
    173
    Советую добавить в тему строку и для клиента, а иначе вопросы по этому поводу не прекратятся
     
  7. Автор темы
    Starr

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

    Баллы:
    98
    Именно он.
    Гарбаж колектор не актуален для очень слабых машинок так как он фризит яву при сборке мусора чересчур сильно. А чтоб оптимизировать его под клиент нужно не один вариант комбинаций написать)
    Ок, добавлю.

    UPD: Добавил собственный список аргументов для запуска клиента.
     
    Последнее редактирование: 1 окт 2015
  8. NuaN

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

    Баллы:
    76
    Имя в Minecraft:
    NuaN
    Взял из аргументов FMX :D
    Но спасибо, что объясил кажое из них.
     
  9. Автор темы
    Starr

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

    Баллы:
    98
    Часть из него, часть из собственного опыта и гугла.
    З.Ы. В аргументах fmx дофигища ненужного и неработающего мусора)
    Зависит от машинки, на разных железках эффект разнится.
    В майне самом разницы, честно говоря, не заметил. Мб на самых слабых железяках разница хоть какая-то будет.

    В случаи использования на серваках, при правильной настройке, есть определенной прирост производительности, хоть и не совсем значительный в некоторых аспектах ;)
     
  10. Lapos213

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

    Баллы:
    103
    Где-то видел аргументы, способные запускать сервер на определенном(ых) ядрах.
    @Starr Можете такие добавить?
    Нужно для Linux
     
    Последнее редактирование: 1 окт 2015
  11. Автор темы
    Starr

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

    Баллы:
    98
    Насколько знаю, это невозможно.
    Возможно лишь выделять под сборщика мусора несколько ядер.
     
  12. MySt1k

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

    Баллы:
    173
    Возможно, не знаю как на шиндовсе, но на linux точно
     
  13. Lapos213

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

    Баллы:
    103
    Да, возможно. На руведре видел месяца 2 назад
     
  14. scrik78

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

    Баллы:
    123
    taskset -c 1,2 java.......
    тут запущено будет джава на двух ядрах
     
  15. Lapos213

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

    Баллы:
    103
    Спасибо
     
  16. Автор темы
    Starr

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

    Баллы:
    98
    Спасибо! Добавил в шапку.
     
  17. Dereku

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

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Всё-таки рекомендую почитать про -XX:+AggressiveOpts и другие флаги.
     
  18. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Статья устарела лет на 10, как и инфа из поста автора (Почти все эти флаги true по дефолту в java8, а CMS GS то ещё гавно, особенно для последних версий minecraft)
     
  19. dirt34

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

    Баллы:
    143
    Skype:
    alucid2
    Имя в Minecraft:
    dirt34
    Хахаххаха. пришел обосрал, ушел))) Норм)
     
  20. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    А всё потому что инфа из таких постов устаревает почти с каждым новым апдейтом жабы. Во всей статье есть только 1 флаг который реально полезен, и 1 спорный. Остальные либо уже имеют указанное значения, либо значение выбирается наилучшее в зависимости от платформы на котором запущена жаба. Ещё 2 параметра не играют никакой роли на производительность майнкрафт сервера либо клиента.
    Исключения составляет вечный срач о том какой сборщик мусора лучше, но тут уже ситуация меняется с каждым апдейтом майнкрафта, да и полностью знать как работает тот или иной сборщик мусора тот ещё гемор, а сижу с вечно включённым профайлером тут только я.
     
  21. Автор темы
    Starr

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

    Баллы:
    98
    Спасибо за инфу, дополню тему.
     

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