170 похожих чатов

Ребята, привет. Подскажите, пожалуйста, может кто-то сталкивался с таким. Есть

C++ библиотека, вызываю ее методы с помощью CGO. Библиотека имеет в своей логике Thread Pool, при старте можно задать количество потоков.
Задаю, например, ThreadPool = 4. При старте всего сервиса в htop видно 12 потоков (8 по GOMAXPROCS и 4, которые я задал для библиотеки). Потом со временем некоторые C++ потоки начинают часто уходить в статус D (uninterruptible sleep) и в итоге весь сервис начинает сильно тормозить. Я так понимаю проблема в том, что блокируются потоки и Go код выполняется с задержками.
Может кто-то направить в какую сторону копать, чтобы это победить?

3 ответов

10 просмотров

С чего вдруг потоки в библиотеке должны влиять на go? Гадая на кофейной гуще, uninterruptable state обычно означает, что поток застрял в ядре. Нередко, например, из-за page fault и последующим походом в своп. Соответственно, вопрос -- память точно есть свободная?

Ruslan Kiiamov- Автор вопроса
Max
С чего вдруг потоки в библиотеке должны влиять на ...

память есть. Занято меньше половины. Библиотека ходит в сеть и я так понимаю ждет IO

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

Обсуждают сегодня

@Aiwan что такое база образца?
Alexey
27
Не многие знают, а кто знает, тот уже успел забыть, что в далёком 2004 году эта игра произвела настоящий фурор, настолько революционной была технология, применяемая для её соз...
ICCID
4
Короче я тут узнал полный пиздец Что кучу постов которые я создавал через posted Спустя время не могу редактировать и менять Мол телега возвращае ошибку Это реально так ...
inc.
13
коллеги, добрый вечер! А никто не знает как модальная форма может себя закрыть? Ну допустим модальная форма определила, что смысла ей работать нет и хочет вернуть modalResult...
Михаил
83
Хотя у меня сейчас есть более сложная задача, вот её думаю: как объяснить челу переходного возраста противоположного полу, обучающегося в польском колледже (а-ля наш техникум)...
Вячеслав Кузьменко
15
Добрый день Хочу начать обучение языку, не являюсь представителем it, буду благодарна за помощь, совсем пока не понимаю ничего) Подскажите, пожалуйста, где можно начать первы...
Sara Lala
30
что читать по делфи?вообще 0 в нем
fd dsds
9
const dirname = new URL((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.src || new UR...
Kirill Shaplyko
4
how would you do any of that offline?
Thomas
7
верно что я могу удалить эти addq и subq т.к. со стеком никакого взаимодействия нет (исключая call)?
Michael
16
Карта сайта