[ 27013 ] {} <Error> void DB::MergeTreeBackgroundExecutor<DB::MergeMutateRuntimeQueue>::routine(DB::TaskRuntimeDataPtr) [Queue = DB::MergeMutateRuntimeQueue]: Code: 241. DB::Exception: Memory limit (total) exceeded: would use 3.47 GiB (attempt to allocate chunk of 4246384 bytes), maximum: 3.47 GiB: (while reading column ProfileEvent_DictCacheLockReadNs): (while reading from part /data/clickhouse/store/adf/adf01457-dd13-4c93-90b0-afb1a022254c/202202_364295_367674_117/ from mark 0 with max_rows_to_read = 4112): While executing MergeTreeSequentialSource. (MEMORY_LIMIT_EXCEEDED)
как-то можно из этого выйти без накидывания памяти?
можно ли понять, что именно пытается и не может СН прочитать? что такое ProfileEvent_DictCacheLockReadNs не знаю, как-будто что-то внутреннее
Возможно вам лучше использовать clickhouse-local, а не clickhouse-server на 4 гб оперативки
узнать какая конкретно таблица падает надо узнав откуда идет линк на эту папку (в engine-atomic все таблицы хранятся в ууид папках с указателями): ls -l /data/clickhouse/store/adf/adf01457-dd13-4c93-90b0-afb1a022254c в вашем случае это метрик лог судя по колонке. выключите metric_log в конфиге и удалите sql... на 4ГБ включать такое перебор наверно. убираем в конфиге https://github.com/ClickHouse/ClickHouse/issues/17735#issuecomment-737404868 (удаляем метадату) rm /data/clickhouse/data/metadata/system/metric_log* я бы и part_log, query_thread_log тоже убрал, либо выставил агрессивные TTL.
спасибо за разъяснения! Пока добавили памяти до 8Гб на каждой ноде - СН всё разобрал, ошибки ушли. Хотя по графику наоборот потребление памяти упало после добавления. Наверно, 4Гб действительно мало даже для ненагруженного экземпляра
Обсуждают сегодня