не заканчивается память, потом тарантул умирает.
Данные хранятся только на виниле, пишет 300MB/час
После перезапуска кушает всего 230MB оперативки.
Похоже на то что винил подтекает? А есть репро? Или какой сценарий использования?
Качает блокчейн биткоина, обновляет балансы по адресам, делает это в транзакции, увеличивает блок. Индексов нет данные растут 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?
Это как?
Опций 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/
добавил вывод box.cfg в коммент
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)
Обсуждают сегодня