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

Как понять куда tarantool расходует оперативку? Каждый день добавляется >100MB, пока

не заканчивается память, потом тарантул умирает.
Данные хранятся только на виниле, пишет 300MB/час

После перезапуска кушает всего 230MB оперативки.

9 ответов

26 просмотров

Похоже на то что винил подтекает? А есть репро? Или какой сценарий использования?

Andrew- Автор вопроса

Качает блокчейн биткоина, обновляет балансы по адресам, делает это в транзакции, увеличивает блок. Индексов нет данные растут 6MB в минуту на виниле, оперативка тоже растет. Код https://gist.github.com/nodermann/9f5d9cfe12a3b2116ed94136db38df3b Полный лог работы от старта до падения https://gist.github.com/nodermann/887c513975ca2c4710ba33ad56a062be В этот раз упал за 6 часов. Раньше чуть больше суток работал, сейчас стало больше адресов добавлятся и оперативка заканчивается быстрее.

Возможно, это LUA память, а не винильная… В любом случае посмотреть потребление памяти вам поможет box.info.memory() https://www.tarantool.io/ru/doc/latest/reference/reference_lua/box_info/memory/ Также вы, возможно, хотели бы попробовать https://github.com/tarantool/metrics

Так не может ли это быть связано с тем что на каждую операцию у вас выполняются 2 действия которые попадают в wal?

Andrew- Автор вопроса

Это как?

Опций box.cfg не видно. в put_address get+insert/update можно в принципе заменить на upsert, чтобы не ходить в лишний раз в дерево. Посмотрите еще на https://github.com/tarantool/metrics чтобы собрать телеметрию, вслепую непонятно какая именно часть оперативки растет. вот тут описано как в 6 строчек, прикрутить телеметрию к прометеусу: https://www.tarantool.io/en/doc/latest/book/monitoring/plugins/ Тут описано, как взять публичный графана дашборд, как основу: https://www.tarantool.io/en/doc/latest/book/monitoring/grafana_dashboard/

Andrew- Автор вопроса

добавил вывод box.cfg в коммент

Andrew- Автор вопроса

grafana ничего интересного не показала, там не все метрики добавлены в дэшборд вот лог для прометеус за 16 часов работы https://gist.github.com/nodermann/be7ec488e308c5b78f54c9033c42d6d3 в memtx ничего не хранится, но продолжает кушать оперативку, добавил swapfile чтобы тарантул жил подольше, но и тот закончится к ночи

В статистике ОС вы не увидите разбивки по потреблению памяти. Для этого вам нужно поставить плагин metrics. Вот тут вы можете посмотреть как в 6 строчек, прикрутить телеметрию к прометеусу: https://www.tarantool.io/en/doc/latest/book/monitoring/plugins/ ]А здесь описано, как в целом дорабатывать публичный графана дашборд: https://www.tarantool.io/en/doc/latest/book/monitoring/grafana_dashboard/ Вот тут описано название метрик, которые вы хотите выводить (скрин прилагаю): https://www.tarantool.io/ru/doc/latest/book/monitoring/metrics_reference/ Как уже предполагали коллеги выше, весьма вероятны ошибки в работе с памятью LUA (это метрика tnt_info_memory_lua)

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

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

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
Подскажите, а есть vault lite или ченить такое?) А то нужен вольт для похода в вольт, но весит он ~500 мб) как-то многовато для парочки запросов ))
Alexandr Orloff
17
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Карта сайта