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

Решено Загрузка процессора из-за Netty

Тема в разделе "Помощь", создана пользователем Dymeth, 15 сен 2019.

Статус темы:
Закрыта.
  1. Автор темы
    Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    После добавления нескольких десятков голограмм и npc стал сильно проседать TPS.
    Начал разбираться - выяснил, что львиную долю процессорного времени использует нативный io.netty.channel.epoll.Native.eventFdWrite().

    upload_2019-9-15_16-14-21.png
    upload_2019-9-15_16-14-32.png


    В связи с этим у меня несколько вопросов:

    1) Можно ли подкрутить какие-то параметры epoll или сети в целом?
    UPD: Посоветовали отключить epoll (use-native-transport в server.properties). Ситуация стала чуть лучше

    2) Можно ли подкрутить какие-то параметры Citizens и HolographicDisplays для уменьшения количества отправляемых пакетов?
    UPD: Отключил precise-hologram-movement в HolographicDisplays - опять же, лагать стало меньше.
    UPD: Добавил в свой код проверку - теперь голограммы телепортируются, только если расстояние между старым и новым положением более 0.1, также увеличил время между телепортациям с 3 до 5-и тиков. Для вычисления расстояния используется distanceSquired.

    3) Какие ещё есть варианты решения проблемы?

    4) Если косяк в железке - как я могу понять, в чём конкретно, чтобы больше на эти грабли не наступать? Сейчас я не уверен, что дело исключительно в процессоре.

    5) Существуют ли профайлеры с поддержкой нативных вызовов java? Какие посоветуете и почему?
    UPD: Посоветовали это: https://github.com/jvm-profiling-tools/async-profiler

    Приведённые выше действия помогли снизить остроту проблемы. Спасибо @xDark
     
    Последнее редактирование: 16 сен 2019
Статус темы:
Закрыта.

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