powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Не освобождается память подключений к БД FB 3.0.0 - 3.0.1 х64 SS
17 сообщений из 17, страница 1 из 1
Не освобождается память подключений к БД FB 3.0.0 - 3.0.1 х64 SS
    #39416246
Freddie26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собственно говоря был использован оптимальный конфиг для FB 3.0. Количество пользователей порядка 80 днем, к ночи падает до единиц. TempCacheLimit = 364М (на сколько я понимаю это максимальное значение занимаемой ОЗУ для хранения данных запросов подключения). Собственно говоря исходя из названия при завершении подключения занимаемая им ОЗУ должна освобождаться. Но по факту имеем занятые почти 32 Гб памяти и днем и ночью. Специально вечером подключался к серверам с той же архитектурой FB в отсутствие подключений: было занято по 1 Гб памяти при том что работало только серверное приложение, которое держит Read Only транзакцию для отображения информации о подключениях.
Хотелось бы отметить, что на серверах с FB 3.0.Х x32 SS без подключенных пользователей процесс сервера занимал 70-110 Мб ОЗУ.
Что это может быть и как с этим бороться?
...
Рейтинг: 0 / 0
Не освобождается память подключений к БД FB 3.0.0 - 3.0.1 х64 SS
    #39416252
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26Собственно говоря исходя из названия при завершении подключения занимаемая им ОЗУ должна
освобождаться.

Нет, не должна. Firebird использует свой собственный менеджер памяти и не возвращает
память системе пока та может ещё понадобиться.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Не освобождается память подключений к БД FB 3.0.0 - 3.0.1 х64 SS
    #39416255
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
размер страничного кеша остался за кадром. А именно он занимает память при наличии хоть одного пользователя, даже если это бездействующий читатель.
...
Рейтинг: 0 / 0
Не освобождается память подключений к БД FB 3.0.0 - 3.0.1 х64 SS
    #39416256
Freddie26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хорошо. Но должен же ж FB когда то ее отпускать? Как установить лимит использования? Я устанавливал TempCacheLimit = 200 Мб с расчетом на 100 подключений чтобы максимальное использование памяти было 20-22 Гб, но сервер кушал пока было что. :)
...
Рейтинг: 0 / 0
Не освобождается память подключений к БД FB 3.0.0 - 3.0.1 х64 SS
    #39416259
Freddie26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dimitr,

DefaultDbCachePages = 50000. Как я и сказал настройки из файла оптимального конфига отсюда .
...
Рейтинг: 0 / 0
Не освобождается память подключений к БД FB 3.0.0 - 3.0.1 х64 SS
    #39416261
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26,

1. смысл параметра TempCacheLimit ты угадал не правильно. Почитай его описание.
2. память выделенная под страничный кеш не будет освобождена в SS пока есть хоть одно подключение.

Память потребляемая сервером складывается из
1. Память под страничный кеш (см. параметр DefaultDbCachePages). Расчитывается как размер кеша в страницах * на размер страницы
2. Память под файловый кеш
3. Память под кеш метаданных (никаким параметром это не регулируется)
4. Память под сортировки и хеш-таблицы (это как раз TempCacheLimit)
5. Память под буфера оконных функций
6. Память под двунаправленные курсоры
...
ну и до фига ещё того на что ты параметрами не повлияешь

По сути ищи косяки в UDF
...
Рейтинг: 0 / 0
Не освобождается память подключений к БД FB 3.0.0 - 3.0.1 х64 SS
    #39416262
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26TempCacheLimit = 364М (на сколько я понимаю это максимальное значение занимаемой ОЗУ для хранения данных запросов подключения)
прекрасные фантазии. Не надо "понимать". Надо открыть firebird.conf, найти параметр, выше него находится комментарий, зачем этот параметр нужен. Дальше либо прочитать английский текст, либо перевести его в гугл транслэйте, либо спросить здесь.

# The maximum amount of the temporary space that can be cached in memory.

temporary space. Не для хранения "данных подключения".

Freddie26Я устанавливал TempCacheLimit = 200 Мб с расчетом на 100 подключений
боже ж ты мой.
http://www.ibase.ru/files/firebird/Firebird_Hardware_Guide_2015_rus.pdf
...
Рейтинг: 0 / 0
Не освобождается память подключений к БД FB 3.0.0 - 3.0.1 х64 SS
    #39416265
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26TempCacheLimit = 364М (на сколько я понимаю это максимальное значение занимаемой ОЗУ для хранения данных запросов подключения)Нет. "Там" написано, что это такое на самом деле
...
Рейтинг: 0 / 0
Не освобождается память подключений к БД FB 3.0.0 - 3.0.1 х64 SS
    #39416274
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

"там" ни черта не написано, потому что кто-то додумался выкинуть все комментарии из "оптимизированных" конфигов :-)
...
Рейтинг: 0 / 0
Не освобождается память подключений к БД FB 3.0.0 - 3.0.1 х64 SS
    #39416282
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrhvlad,

"там" ни черта не написано, потому что кто-то додумался выкинуть все комментарии из "оптимизированных" конфигов :-)Кто же это сделал ? (ц)
...
Рейтинг: 0 / 0
Не освобождается память подключений к БД FB 3.0.0 - 3.0.1 х64 SS
    #39416299
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr,

ну конечно. Вспоминаю цирк на семинаре по шифрованию, когда на ноуте С. не обнаружилось НИ ОДНОГО базового firebird.conf.
...
Рейтинг: 0 / 0
Не освобождается память подключений к БД FB 3.0.0 - 3.0.1 х64 SS
    #39416303
Freddie26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv,

Отлично! Перечитал материал по ссылочке. Тут даже есть формула расчета занимаемой сервером ОЗУ с учетом настроек,
в моем случае: (50000 * 16 Кб) + 364 Мб = 1145,25 Мб. Чем тогда занимается остальная память? :)

Еще хотелось бы отметить, что в статье не сказано о оптимальном размере кластера файловой системы относительно размера страницы БД.
...
Рейтинг: 0 / 0
Не освобождается память подключений к БД FB 3.0.0 - 3.0.1 х64 SS
    #39416311
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26,

я же вроде написал что это далеко не вся память потребляемая сервером.

Есть ещё временные блобы, кеш метаданных, файловый кеш... В конце концов UDF кривые утечку памяти давать могу.
Попробуй в мониторинге посмотреть потребление памяти.
...
Рейтинг: 0 / 0
Не освобождается память подключений к БД FB 3.0.0 - 3.0.1 х64 SS
    #39416328
Freddie26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,

Хотелось бы про всё почитать подробней и желательно разжевано для чайников :)
Кэш метаданных читается занимается на подключение и он фиксированный пока не меняешь структуру БД? Как хоть примерно прикинуть сколько памяти требуется для метаданных?

Блобы я так понимаю также освобождают память как и весь остальной кэш при отключении всех от БД?

UDF у нас вообще не используются.

А каким именно мониторингом вы предлагаете воспользоваться?
...
Рейтинг: 0 / 0
Не освобождается память подключений к БД FB 3.0.0 - 3.0.1 х64 SS
    #39416381
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26,

таблица MON$MEMORY_USAGE может быть поможет выяснить что именно жрёт память вплоть до конкретного стейтмента

Freddie26Кэш метаданных читается занимается на подключение и он фиксированный пока не меняешь структуру БД?

да прям. Всё зависит к каким метаданным ты обращаешься, абсолютно все метаданные не тянутся по умолчанию. Но в A< 3 он не общий даже в SS. Хотя адски много он сожрать не должен.

И не забывай есть ещё файловый кеш.
...
Рейтинг: 0 / 0
Не освобождается память подключений к БД FB 3.0.0 - 3.0.1 х64 SS
    #39416386
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freddie26Блобы я так понимаю также освобождают память как и весь остальной кэш при отключении всех от БД?

нет. Либо по закрытию курсора, либо по завершению транзакции. Точнее hvlad или dimitr скажет
...
Рейтинг: 0 / 0
Не освобождается память подключений к БД FB 3.0.0 - 3.0.1 х64 SS
    #39416661
Freddie26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов ДенисFreddie26,

таблица MON$MEMORY_USAGE может быть поможет выяснить что именно жрёт память вплоть до конкретного стейтмента

Интересно...

Рано я начал грешить на 3.0.1. Там похоже всё хорошо. Сервер 3.0.1 SS x64 на 40-50 пользователей с оптимальным конфигом по ссылке выше, процесс FB потребляет 3 Гб ОЗУ. По таблице MON$MEMORY_USAGE все подключения используют ~800 Мб.

Для сравнения взял второй сервер 3.0.0 SS x64, 100 подключений, так же оптимальный конфиг, использование памяти по таблице MON$MEMORY_USAGE 500 Мб. Процесс FB кушает 13 Гб ОЗУ.

Предполагаю проблема в утечке памяти которая была исправлена в 3.0.1 (что-то связанное c select'ами если не ошибаюсь).

Симонов Дениснет. Либо по закрытию курсора, либо по завершению транзакции.

Я так понимаю Blob'ы входят в отображаемую память MON$MEMORY_USAGE и хранятся в оперативном доступе? Если так, то занятый объем не существенен.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Не освобождается память подключений к БД FB 3.0.0 - 3.0.1 х64 SS
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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