powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / table engine=memory съедают всю имеющеюся оперативную память
5 сообщений из 5, страница 1 из 1
table engine=memory съедают всю имеющеюся оперативную память
    #39890801
devi409
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется достаточно мощный сервер.
16 ядер 128 ГБ оперативной памяти
База данных занимает 400 ГБ на жестком диске
для ускорения некоторых запросов решено было использовать таблицы в памяти engine=memory
Таблиц суммарно около 200 шт. общим объемом примерно на 10 ГБ вместе с индексами.
Когда сайт работает в стандартном своем режиме, то использование памяти не превышает и половины 64 ГБ.
Но когда создаются таблицы в памяти за один раз 200 штук то это съедает 15 ГБ оперативной памяти и составляет примерно 79 ГБ.
если теперь сделать TRUNCATE или DROP таблиц в памяти то использование памяти не уменьшается. Логично было бы предположить что память выделенная для таблиц должна была освободиться, но к сожалению свободной памяти на сервере без таблиц столько же сколько после их удаления.
Теперь возьмем и снова создадим эти же 200 таблиц повторно после предыдущего DROP. Mysql еще раз скушает 15 ГБ и общий занимаемый объем 79+15=94 ГБ. Если же теперь снова удалить ранее созданные таблицы и уже в третий раз создать их то занятая память на сервере будет 109 ГБ и сайт начинает притормаживать из за того, что некоторые данные потихоньку начинают залазить в swap. ну и последний раз запускаем удаление и создание и сайт уходит в даун.

Подскажите в чем может быть причина не освобождения выделенной памяти для memory таблиц? Может командой какой-нибудь можно пересчитать используемую память и освободить ее?
...
Рейтинг: 0 / 0
table engine=memory съедают всю имеющеюся оперативную память
    #39890819
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
devi409,

Точная версия MySQL ?
...
Рейтинг: 0 / 0
table engine=memory съедают всю имеющеюся оперативную память
    #39890827
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
devi409,

Чему равны параметры tmp_table_size и max_heap_table_size ?
...
Рейтинг: 0 / 0
table engine=memory съедают всю имеющеюся оперативную память
    #39890862
devi409
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Версия 5.7.28-31-log
tmp_table_size=256МБ
max_heap_table_size=256БМ

Но эти параметры я специально переопределяю так как ошибка возникала что таблица полная.
поэтому для одного подключения выполнял команды
SET tmp_table_size=1024 * 1024 * 1024
SET max_heap_table_size =1024 * 1024 * 1024

получается что каждая по 1ГБ
думаете в этом проблема?
...
Рейтинг: 0 / 0
table engine=memory съедают всю имеющеюся оперативную память
    #39890877
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
devi409
думаете в этом проблема?
Нет, больше похоже на баг.
Как вариант, можно попробовать на других версиях, в т.ч. в ветке 8.0.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / table engine=memory съедают всю имеющеюся оперативную память
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]