Как бороться с тем, что "съеденная" физическая память растёт изо дня в день.
Платформа 8.3.10.2650. Клиент-серверный вариант, SQL 2014. В настройках кластера стоит время перезапуска (8ч), ограничение в SQL 120Гб. Также проставлены значения в SQL (Processor) Max.worker treads = 2048 и Boost SQL server priority.
Значит памяти на сервере маловато, докупите.
Или перегружайте сервер, когда стало тормознее.
Все хотят на слабом железе проблемы решать только программно.
(5) Тем что она не отдается ОС под другие процессы, а "висит" занятой под процесс который ее уже и не "использует" - это проблема утечки памяти - стандартная проблема при написании на компилирующих языках программирования типа С, С++ и пр.
СКЛ всегда съедает всю выделенную ему память со временем
SQL всю память не съедает, если ее достаточно, он останавливается на каком-то пределе используемых процедур и данных. Если пользователи ничего не делают принципиально нового, то возрастания использования памяти уже не происходит.
Я сам на небольшой базе это наблюдал. Сперва планок памяти на сервере было мало, приходилось часто перегружать, чтоб не тормозил, использование доходило до максимума.
Потом доставил планок в 2,5 раза. Сервер(mssql) поглощал до определенного уровня, а потом останавливался.Перегружать стало не надо совсем.
(21) без настроек верхней границы потребляемой памяти SQL на сервере с 8 гб оперативы и 3 базами УТ 11, БП 3 и Розница 1, наблюдаются тормоза и зависания, пользователей постоянно 15-20 чел. При простейших поглаживаниях SQL загруженность памяти 75-80% все летает. Ваш подход не экономичен, но все зависит от того как и где используются базы.
(9) Насколько я понял, всю память съел SQL Server. Это нормально, когда SQL Server занимает всю предоставленную ему память. Хуже, когда на сервере 1С предприятия появляются утечки памяти.
(40) По мне так нет. Но ставить самый свежий релиз - тоже не дело. Я подожду недельку - другую - и почитаю отзывы кто уже поставил себе новый релиз. И будет понятно где кто злополучил себе "особенности поведения нового релиза" :-) - и если критичного для себя я не увижу, то можно и ставить.
У вас на одном физическом серваке и сервер 1с и сервер SQL?
Иногда для того чтобы 1с начала работать стабильнее помогает изменение количества сеансов на один процесс...
Насколько верны совместно установки :
- Убрать флаг «Boost SQL Server priority»
- Установить параметр «Max degree of parallelism» = 1
- выставить параметры размеров файлов данных и лога для базы model (для удобства - используется в качестве шаблона для всех баз данных), "Асинхронное автоматическое обновление статистики" - true, Simple, сортировку
- Разбить базу tempdb (используется при выполнении запросов, для временных объектов) на несколько файлов (раньше было 8, хотя уровень производительности нормальный)
- добавить флаги трассировки 4199, 1118 в параметры запуска
?
(32) Ну тут очень много зависит от настроек самой wind-ы, железа на котором стоит все это, от других процессов запущенных на ОС. Сразу же и не скажешь. Я бы поставил виртуалку, там все это сделал и посмотрел как все будет работать - чтобы безопасно можно было бы проверить. А так - по живому - как бы не получить в процессе рабочего дня крах всего.
(44) По этой настройке и я тоже настраивал. Так что тут по умолчанию единственный верный путь. Но даже там есть комментарий - "если иное не оговорено производителем":
например, вот (взято оттуда):
"Выровнять сектора дисков по границе 1024Кб и отформатировать с размером блока 64Кб (если нет иных рекомендаций от производителя)."
Так что по умолчанию - туда, но если еще боле оптимизировать, то тут уже надо тонко доводить - но нужно очень глубоко разбираться.