IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2021/11/10
~R4SAS
~orignal
~villain
&N00B
+relaybot
Leopold
Most2_
Nausicaa
Nikat
Opax
Vort
WayBest_
acetone
anon3
anontor
b3t4f4c3
banona_
fidoid
grimreaper
itsAMe
karamba_i2p
lex
onon
onon1
poriori
profetikla
qend
r00tobo
scratch
soos
teeth
typhoon_
uis
un
weko
whothefuckami_
колдобина
колдырь
R4SAS orignal: херово че
R4SAS что так утекает
orignal это там где много дестинейшенинов?
R4SAS да
R4SAS 30352 i2pd 20 0 2471976 324140 7496 S 14,6 4,0 6757:11 `- /usr/sbin/i2pd
orignal так ты знаешь что надо сделать
R4SAS +33 мб
R4SAS за 2 дня
orignal надо чистить пул
orignal периодически
orignal у меня вот ничего не растет почти
R4SAS и как я его чистить буду
R4SAS на ходу
orignal по таймеру в ClientDestination
orignal и еще
orignal std::unordered_map<uint32_t, std::shared_ptr<Stream> > m_Streams; // sendStreamID->stream
R4SAS так а его разве нет?
orignal думаю растет вот тут
orignal есть наверное
orignal но i2p::util::MemoryPool<Packet> m_PacketsPool; не чистится
R4SAS просто как ты помнишь, тут всякие вещи висят
R4SAS и на половине туннелей есть постоянно запрсы
orignal и стримов ломится много я думаю
R4SAS нее
R4SAS от силы 3 десятка в раз
R4SAS я вот сейчас пробежался, более 30 даже не насчитал
orignal я не это спрашиваю
orignal смотри в ирке стрим стоит сутками
orignal один и тот же
R4SAS нц
R4SAS ну
orignal а у тебя наверное
orignal много короткоживущих
orignal которые создаются и закрываются
R4SAS ну они и есть основная кипа запросов
orignal ну так вот каждый их них увеличивает этот unordered_map
orignal в этом проблема
orignal вопрос сколько у тебя там памяти?
R4SAS orignal: хватает, 8 вроде
orignal так а чего тогда паришься?
R4SAS ну, я не порюсь конкретно сейчас, но все равно надо понять почему
orignal а почему я тебе сказал ))
R4SAS ибо если будет нагрузка в десятки раз выше, то чего будет твориться?
orignal ничего
orignal когда то остановится рост размера таблиц
R4SAS запускать ш2зв под гдб или валгрндом не вариант
R4SAS ибо сразу скорость падает
orignal так зачем?
orignal если причина известна
R4SAS а вдруг не там?
orignal попробуй поменять unordered_map на map
R4SAS она же должна вычищаться
orignal нет
orignal в том то и дело
R4SAS это жу тупо таблица с разстущим индексом
orignal это bucket-ы не вычищаются
R4SAS растущим*
orignal если для индекса его нет создается новый
orignal а пустые не удавляются
R4SAS бред
R4SAS я думал вычищается полностью память если нет данных
R4SAS ибо как я понимаю повторно индекс не может использоваться
R4SAS либо это крайне малая вероятность
orignal нет
orignal полностьб вычищать если нет данных надо принудительно
orignal и редко бывает что таблица пустая
R4SAS ну а как в реляционке сделать нельзя?
orignal не знаю
orignal так устроен unorderd_map
orignal говорю же попробуй заменить на map
orignal он иначе работает
orignal но медленнее
orignal примерно на четверть
R4SAS а как в unordered удаляется запись?
orignal erase как обычно
orignal это удаление элемента
orignal но не bucket-а
R4SAS bucket это что у нас?
orignal ну ты предстявляешь работу хэш таблицы?
R4SAS индекс -> указатель
orignal я про то как внутри
orignal там группируется по индексам
orignal каждая такая группа называется bucket
R4SAS > unordered_map doesn't guarantee iterator stability. It provides pointer stability instead. This means allocation/deallocation on every insertion/removal of the element.
orignal естественно
orignal там еще много чего
R4SAS некоторые через std:swap предлагают зачищать)))
orignal ну как вариант да