libsodium.so.23 при использовании SSR в ubuntu 16

Ваша проблема напрямую связана с UDP. Проблема в том, что один из ваших ядер максимален, и какое-то приложение, участвующее в вашем использовании UDP, не может использовать преимущества более чем одного ядра. Ваш выбор состоит в том, чтобы профилировать / оптимизировать его, чтобы заставить его выполнять свою работу с доступными ресурсами или переделать его для использования нескольких потоков или нескольких процессов, чтобы он мог использовать преимущества других ядер.

Точно так же вы делаете это, это зависит от того, что не так с кодом сейчас. Одна из возможностей заключается в том, что код выглядит примерно так:

while(1)
{
 do_udp_stuff(); // this is fairly simple
 do_other_stuff(); // this is complex
}

В этом случае решение должно либо оптимизировать do_other_stuff, либо переместить его в другой поток.

Другая возможность заключается в том, что код выглядит следующим образом:

while(1)
{
 do_some_work_which_generates_a_UDP_Packet();
 send_udp_patch();
}
// or
while(1)
{
 receive_UDP_packet();
 process_UDP_packet();
}

В этом случае решение может состоять в том, чтобы иметь более одного потока, выполняющего работу, которая генерирует UDP-пакет или обрабатывает пакет UDP.

В принципе, вам нужно либо уменьшить количество CPU, которое вы используете на UDP-пакет, либо увеличить эффективность использования процессора, распределив работу над ядрами.

0
задан 2 February 2018 в 12:28

0 ответов

Другие вопросы по тегам:

Похожие вопросы: