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

Фикс Загружается постоянно 1 ядро на сервере

Тема в разделе "Управление сервером Bukkit", создана пользователем esse, 7 июн 2019.

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

    esse Ньюби

    Баллы:
    1
    Всегда нагружается на сервере 1 ядро, что и вызывает дикие лаги на сервере. Как можно сделать распределние по всем ядрам?[​IMG] вот картиночка
     
  2. dimkaS

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

    Баллы:
    76
    Имя в Minecraft:
    dimkaS
    К сожалению, Bukkit не умеет в многопоточность)
     
  3. Автор темы
    esse

    esse Ньюби

    Баллы:
    1
    Что в этом случае тогда делать? Потому что невозможно играть, когда сервер виснет от перегруза процессора.
     
  4. MurlikMurlik

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

    Баллы:
    96
    Ну почему не умеет.
    Я спокойно запускал асинхронные задачи которые в другом потоке работают. Так же, замерял нагрузку четырех ядер при высоком онлайне, все 4 ядра были нагружены солидно, и все на задачу сервера. Если ты про оптимизацию, то да, ее там не хватает во многих местах.
     
  5. Автор темы
    esse

    esse Ньюби

    Баллы:
    1
    Как добавить можно асинхронность?
     
  6. MurlikMurlik

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

    Баллы:
    96
    Качать paper, там чанки подгружаются асинхронно.
     
  7. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Сам ты её не добавишь. Максимум можешь поставить 1.14. В ней помимо чанков ещё и свет асинхронно считают. Правда не уверен, что это поможет - говорят, 1.14 лагает больше той же 1.8, например.
    Если даже установка Paper не поможет - то только железо с более мощным процом брать
     
  8. Alexgrist

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

    Баллы:
    173
    Может запускаешь сервер с какими-то флагами? Уже давно нагрузка распределяется по всем ядрам.
     
  9. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Да что ты? А можно ссылку на источник?
     
  10. MurlikMurlik

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

    Баллы:
    96
    Дак самим можно проверить.
    Запусти сервер, открой htop утилиту, пытайся нагрузить сервер либо сетом, либо подгрузкой чанками либо еще чем то.
     
  11. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Открыл - всё как и раньше. В загрузке лишь одно ядро 95% времени.
    Чанки - асинхронно грузятся, да.
    По поводу сета - я не исключаю, что в FAWE это разработчики самостоятельно вынесли в отдельный поток, не просто же так этот плагин называется FastAsync.
    Но это всё частные случаи. Как раз 95% времени на сервере происходят совершенно другие операции - и все они в основном потоке.
    Как и прежде, бОльшая часть серверных механик обрабатывается в основном потоке - ИИ мобов, коллизии, действия игроков и всё остальное. Отдельно лишь прослушка пакетов, обработка чата, вотчдог, загрузка чанков (с 1.8, кажется) и просчёт света (с 1.14). Но даже этого недостаточно для раномерного распределения нагрузки. Поэтому почти всегда и будет загружено одно ядро, как у автора темы. В связи с этим, кстати, под майнкрафт выгоднее брать сервера с меньшим количеством ядер, но с бОльшей частотой.
     
  12. MurlikMurlik

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

    Баллы:
    96
    Очень странно. У меня все 4 ядра грузят один процесс в 400% когда происходит авто сохранение мира (как я понял из-за огромного количество структур), из-за чего даже сам хост подвисает изредка(хотя стоит ssd). Так же зачастую замечаю, как 70% нагрузки сервера по таймингам, идут тупо из-за мобов (без мобов на сервере никак), ибо игроки строят авто фермы. Сижу все еще на 1.12.2, ибо выше подниматься пока не вижу смысла. Вот не знаю куда деться, как можно оптимизировать ии мобов без изменения геймплея.
     
  13. alexandrage

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

    Баллы:
    173
    Пересесть на пепер, там с этим получше.
     
  14. Alexgrist

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

    Баллы:
    173
    В моем мире нагрузку от сервера джава умеет распределять на все ядра. А про многопоточность я ничего не писала.
     
  15. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Поддержка нескольких ядер - это и есть многопоточность. Один поток обрабатывается одним ядром, другой другим и так далее.
     
  16. MurlikMurlik

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

    Баллы:
    96
    Более 6к мобов с ферм не будут грузить сервер?
     
  17. MurlikMurlik

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

    Баллы:
    96
    Да вроде не обязательно так.
    Каждое ядро обрабатывает ровно столько потоков в джаве, сколько нужно.
     
  18. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Майн как был по сути однопоточным так и остался. Конечно моджанги пытаются всякие вещи вынести в отдельные потоки, но тут уж как повезёт. А нагрузка на остальные ядра - это как раз остальные задачи, и gc. Проверяется кстати просто - берётся сервер, устанавливается один поток для gc и спавгится в одном чанке несколько десятков тысяч мобов. И сразу будет видно что какое-нибудь одно ядро загружено на максимум (нагрузка будет пырагть по ядрам, потому лучше смотреть утилитами котрые могут в историю загрузки ядер), а остальные ядра делают почти нифига.
     
  19. alexandrage

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

    Баллы:
    173
    Да пока тикентити не разпаралелят ничего не поменяется ага. Ибо как раз он и хавает одно ядро.
     
  20. dimkaS

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

    Баллы:
    76
    Имя в Minecraft:
    dimkaS
    А потом можно будет и ксеоны многопоточные под кубачь арендовать xd
    А то все i7 да i7 :whistle:
     

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