Столкнулся с заполнение всей оперативной памяти (12ГБ) на терминальном сервере.
На сервере инсталлирован только Медок 11.00.027
Windows 2012R2, ОЗУ 12ГБ,
База Медка 30ГБ
Сетевая установка, база в режиме Суперсервер, используется ярлык на ezvitnet.exe
Активных пользователей примерно 15
Через некоторое время после запуска севрера, загрузка оперативной памяти доходит до 97% и далее заполняется свап.
Если посмотреть в таскменеджере виндовс то сумманый объем занимаемый программами значительно меньше, примерно 40-50%
С помощью инструмента RAMMap удалось обнаружить причину заполнения памяти.
https://docs.microsoft.com/en-us/sysint ... ads/rammap
Как выяснилось причиной такого поведения ПО является использование флага FILE_FLAG_RANDOM_ACCESS при доступе к файлу БД:
https://support.microsoft.com/en-us/hel ... lag-random
Временное решение:
https://serverfault.com/questions/30217 ... er-2008-r2
Данная проблема решена разработчиком БД начиная с версии 2.1.5
http://tracker.firebirdsql.org/browse/CORE-3791
К сожалению, в медке (11.00.027) используется база версии 2.1.4
=======================
Интересуют следующие вопросы:
- 1. Можно ли самому обновить версию БД до 2.1.7 (последняя версия этой ветки)
и не повлияет ли это на работу Медка?
https://firebirdsql.org/en/firebird-2-1/
- 2. вопрос к разработчику.
Есть ли возможность обновить БД в дистрибутиве?