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

  • Автор темы Автор темы 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
 
Последнее редактирование:
Статус
Закрыто для дальнейших ответов.
Назад
Верх Низ