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

Тоже залечу со своей проблемой: Для юзера выделено 64ГБ оперативки, max_bytes_before_external_group_by

и max_bytes_before_external_sort выставлены по 21ГБ. Запускаю в параллель два запроса: 1. агрегация большой таблицы с последующим инсертом; 2. сортировка большой таблицы. Через некоторое время оба этих запроса падают по Memory limit (for user) exceeded (если запустить три сортировки из 2 запроса одновременно, то они отрабатывают нормально). Как я понимаю, происходит следующее: 2 запрос занимает положенные ему <=21ГБ, а 1 запрос занимает слишком много оперативки для чтения данных (например, 50ГБ), отчего оба запроса падают.
Вопрос: есть ли какой-то параметр, которым можно ограничить максимально занимаемое в оперативке место на чтение? Например, загрузились блоки на 20ГБ и пока они не обработаются, новые блоки в оперативку подгружаться не будут.

12 ответов

9 просмотров

max_threads =5

Михаил-Жиляков Автор вопроса
Denny [Altinity]
max_threads =5

Нет, это не помогает. Я обнаружил, что у меня эти запросы в принципе не могут одновременно пролезть в оперативку (условно, для юзера доступно только 17ГБ, а оба запроса вместе жрут 20ГБ). Есть ли какой-то способ, как можно запросами мониторить, сколько и на что юзер потребляет оперативки? Нашел в Яндекс.Облаке вот такой дашборд, но хотелось бы посмотреть на потребление оперативки в разрезе юзеров, чтобы как-нибудь жонглировать квотами на юзеров/запросы/кэширование и т.д.

Михаил Жиляков
screenshot Нет, это не помогает. Я обнаружил, что у меня эти ...

готового нет. только select ... from system.processes group by user

Михаил-Жиляков Автор вопроса
Denny [Altinity]
готового нет. только select ... from system.proces...

select ... from system.processes показывает только потребление памяти запросами, а она еще расходуется на всякие кеши, хранение ключей и т.д. Вообще, хотелось бы полный список видеть, на что и сколько уходит оперативка, чтобы высчитывать, сколько ее осталось свободной на новый запрос... Но этого я нигде не нашел

Михаил Жиляков
select ... from system.processes показывает только...

SELECT * FROM asynchronous_metrics WHERE metric LIKE '%MemoryVirtual%' -- доступно select * from metrics where metric like 'MemoryTracking' -- использовано

Volodymyr Bunchuk
screenshot Хм, не вижу ’MemoryTracking’

старый у вас КХ, это с 20.9 наверное

Volodymyr Bunchuk
20.10

так таблица не та

Михаил-Жиляков Автор вопроса
Denny [Altinity]
SELECT * FROM asynchronous_metrics WHERE metric LI...

Спасибо, на кое-какие мысли меня это навело!) Правда, насколько я понимаю, SELECT * FROM asynchronous_metrics WHERE metric LIKE '%MemoryVirtual%' — это про доступное место на диске для хранение, а не про оперативку

Михаил Жиляков
Спасибо, на кое-какие мысли меня это навело!) Прав...

нет, это про виртуальную память https://en.wikipedia.org/wiki/Virtual_memory

Михаил Жиляков
Спасибо, на кое-какие мысли меня это навело!) Прав...

разве? А у вас своп есть? MemoryVirtual │ 55 092 850 688 MemoryDataAndStack │ 54 464 454 656 Filesystem Size Used Avail Use% Mounted on /dev/md0 938G 236G 655G 27% / free -h total used free shared buff/cache available Mem: 62Gi 30Gi 22Gi 164Mi 9.6Gi 31Gi Swap: 63Gi 3.2Gi 60Gi less /var/log/clickhouse-server/clickhouse-server.log ... Application: Setting max_server_memory_usage was set to 56.53 GiB (62.81 GiB available * 0.90 max_server_memory_usage_to_ram_ratio)

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

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

Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
32
А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Привет, запускаю werf в dind в k8s, получаю ошибку на этапе build/beforeSetup: /.werf/stapel/embedded/bin/bash: /.werf/scripts/5898bdfe5214357d3706b879cc8d3d78460fb379607cbd...
florius0
7
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Дорогие любители Прекрасной Джулии! Есть кто-то имеющий практический опыт построения ML для Систем Управления? Нам нужно сделать нейросеть для автоматической подстройки пара...
Roman Timo
4
С той же поддержкой Android в тулчейне, если кому интересно. На Swift Forums шло убогое обсуждение всякой херни годами, но ничего годного так и не появлялось. Пришел vgorloff ...
iMike
1
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Приветствую ребята,у меня база есть,прорешал много задач с литкода,там деревья,списки, бэктрэкинг и все остальное,что мне сейчас делать?есть может куда устроиться поработать,е...
Aקuст Lеתסuд Aקuст Lеתסuд
5
Всех приветствую. Направьте меня в нужное русло. Постепенно переписываю проект с delphi на lazarus. Приложение - обычный windows/linux клиент для бд firebird. Тут все хорошо. ...
Mishutka
4
Карта сайта