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

У нас тут СН в какой-то момент упал с сообщением

о нехватке памяти
теперь с тем же сообщением не может стартовать

какие тут стратегии расследования/починки кроме накидывания памяти? Среда тестовая, данных сильно меньше, чем ожидается на проде и хотелось бы разобраться в чём причина, прежде чем в таком виде выводить схему на прод

сообщение вида:
2021.11.22 15:10:50.644232 [ 31056 ] {} <Error> Application: DB::Exception: Memory limit (total) exceeded: would use 28.28 GiB (attempt to allocate chunk of 4206345 bytes), maximum: 28.28 GiB: Cannot attach table auditTrail.name from metadata file /var/lib/clickhouse/store/c80/c8061da6-7b4e-4b9c-8806-1da67b4e3b9c/name.sql from query ATTACH TABLE auditTrail.name UUID '230356f3-f9a2-44d6-a303-56f3f9a244d6' (id UInt64, name String) ENGINE = Join(ANY, LEFT, id): while loading database auditTrail from path /var/lib/clickhouse/metadata/auditTrail
2021.11.22 15:11:47.227500 [ 31110 ] {} <Error> Application: Caught exception while loading metadata: Code: 241. DB::Exception: Memory limit (total) exceeded: would use 28.28 GiB (attempt to allocate chunk of 4206345 bytes), maximum: 28.28 GiB: Cannot attach table auditTrail.name from metadata file /var/lib/clickhouse/store/c80/c8061da6-7b4e-4b9c-8806-1da67b4e3b9c/name.sql from query ATTACH TABLE auditTrail.name UUID '230356f3-f9a2-44d6-a303-56f3f9a244d6' (id UInt64, name String) ENGINE = Join(ANY, LEFT, id): while loading database auditTrail from path /var/lib/clickhouse/metadata/auditTrail. (MEMORY_LIMIT_EXCEEDED), Stack trace (when copying this message, always include the lines below):

(надеюсь суть ясна, если надо подробнее, скину куда-нибудь)

5 ответов

19 просмотров

У вас таблицы с движком джойн съедают, видимо все. Вы читали об этом движке?

Alex-Spiridonov Автор вопроса
Clir
У вас таблицы с движком джойн съедают, видимо все....

читал. Вроде они должны были быть небольшими. Возможно, что-то пошло не так. Как сейчас можно узнать итоговый "плохой" размер и/или содержимое, не накидывания памяти и не стартуя СН?

Alex Spiridonov
читал. Вроде они должны были быть небольшими. Возм...

Не уверен, но возможно так: кол-во строк*размер в байтах колонки и так для всех колонок в таблице.

Alex-Spiridonov Автор вопроса
Clir
Не уверен, но возможно так: кол-во строк*размер в ...

да мне бы просто количество строк сейчас узнать, не стартую сервер. + Если их там действительно много, то как-нибудь посмотреть значения на выбор + Сделать как-то, чтобы сервер стартовал (данными можно жертвовать, они тестовые) Сейчас хочется научиться расследовать и чинить + найти косяк, который привёл к распуханию таблицы (если распухание подтверрдится)

Alex Spiridonov
да мне бы просто количество строк сейчас узнать, н...

сделайте директорию /var/lib/tmp(ну или подобное) и перенесите туда метаданные таблиц джойн, пробуйте запустить КХ

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта