Ограничение оперативной памяти для SQL SERVER 2008 под системой x64
Стоит Windows Server 2008 + MS SQL SERVER 2008 + Сервер 1С:Предприятия 8.2.13.219. Конфигурация компьютера: Intel Core i7-2600 3,60GHz + 8Gb оперативки. Процесс sqlservr занимает от 6 до 7 гб памяти. В результате в самый "час пик" работы оперативная память занята на 99% и вся система начинает жутко тормозить. Как ограничить количество выделяемой памяти для процесса sqlservr к примеру до 5 гб?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
SQL Server Management Studio;
Сервер - Свойства;
Память - Максимальный размер памяти сервера (по умолчанию) = 2 147 483 647;
Измени на нужное значение в Мб ну например 4096 (4 Гб).
Сервер - Свойства;
Память - Максимальный размер памяти сервера (по умолчанию) = 2 147 483 647;
Измени на нужное значение в Мб ну например 4096 (4 Гб).
В вашем случае, если на одной машине находится как севрер 1С и сервер СУБД, рекомменду такую настройку:
Стоит понимать, что для нормальной работы ОС необъходимо 1-2 ГБ ОЗУ, если данный сервер не является ко всему еще и терминальным, то плюс по 256 МБ на одну сессию минимум.
Для работы сервера 1С реккомендуется отводить 2-4 и более ГБ ОЗУ, но это число зависи от количества работающих пользователей, а так же процессов, котоыре выполняют задачи требующие большого потреблеия ОЗУ (например, использование в памяти большой Таблицы значений).
Особенностью работы MS SQL SERVER является потребление ОЗУ в доступном ему количестве, т.е. может выжрать полносью всю ОЗУ и привесит работу сервера в крах. В памяти постоянно хранятся кеши выполненых планов запросов и др. Для этого применятся ограничение доступной памяти. В зависимости от: одновременно работающих пользователе, выполняемых SQL запросов и канечно же доступных ресурсов необходимо от 2-4 и более ГБ ОЗУ.
Стоит понимать, что для нормальной работы ОС необъходимо 1-2 ГБ ОЗУ, если данный сервер не является ко всему еще и терминальным, то плюс по 256 МБ на одну сессию минимум.
Для работы сервера 1С реккомендуется отводить 2-4 и более ГБ ОЗУ, но это число зависи от количества работающих пользователей, а так же процессов, котоыре выполняют задачи требующие большого потреблеия ОЗУ (например, использование в памяти большой Таблицы значений).
Особенностью работы MS SQL SERVER является потребление ОЗУ в доступном ему количестве, т.е. может выжрать полносью всю ОЗУ и привесит работу сервера в крах. В памяти постоянно хранятся кеши выполненых планов запросов и др. Для этого применятся ограничение доступной памяти. В зависимости от: одновременно работающих пользователе, выполняемых SQL запросов и канечно же доступных ресурсов необходимо от 2-4 и более ГБ ОЗУ.
(4) sboi, Хотел возобновить. WinServer 2008SP2 x64 standrd + SQL Server 2005 x64 Standrd + 1C 82. Оперативная память - 32Гб. Какие только цифры не ставил для max server memory - 10 гб, 20 Гб, 27 Гб - результат один, через некоторое время (сутки - двое) все 31.7 Гб оказываются во владении SQL Сервера. А плохо это вот почему :когда SQL сервер выходит на цифры > max sql memory резко падает быстродействие-перепроведение документа
идет 5-6 мин. вместо 20 сек. Перезапускаешь службу sql: первое перепроведение = 20 сек, последующие = 4 или 5 сек (буфер в памяти работает..) Как бы эту тему победить ? Это наблюдается(6 мин.) даже если есть 5-6 Гб свободной памяти, но уже был выход за max memory. В эту память ведь вся наша база помещается - она сейчас порядка 8Гб., а вот тем не менее...
идет 5-6 мин. вместо 20 сек. Перезапускаешь службу sql: первое перепроведение = 20 сек, последующие = 4 или 5 сек (буфер в памяти работает..) Как бы эту тему победить ? Это наблюдается(6 мин.) даже если есть 5-6 Гб свободной памяти, но уже был выход за max memory. В эту память ведь вся наша база помещается - она сейчас порядка 8Гб., а вот тем не менее...
(13) pwp2008, В эту память помещается не только ваша база но и темпдб и текущие транзакции и создание или обновления индексов и статистики. но проблема скорее всего что при выходе за границы памяти сиквел лихорадочно начинает отчищать страницы памяти сбрасывая при этом данные на диск в хранилище, журналы и при этом еще и солидно юзает своп. Проверьте загрузку дисковой подсистемы в этот момент может требуется её оптимизация и апгрейд, По сиквелу попробуйте поиграться с параметром ft crawl bandwidth (min) - очень индивидуален для каждой конфигурации. по умолчанию 0 - тоесть сиквел пытается освободить все дополнительные буферные пулы.
Кстати много памяти то же зло.
1С Документооборот.
Выделил из 256 Гб, 96Гб SQL Server 2012 он использовал 60Гб при размере базы в 25Гб. Вдруг начались ни с того ни с сего тормоза задача выполнялась по 3 минуты, когда обычно за секунду две в отладчике показывало, что Записать() и Оповестить() занимали поровну время.
Уменьшил объем выделенного ОЗУ до 25Гб тормоза резко кончились.
Ни сервер SQL ни 1C при этом не перезагружал.
PS Позже разобрался, память не причем, проблема была в кривом запросе.
1С Документооборот.
Выделил из 256 Гб, 96Гб SQL Server 2012 он использовал 60Гб при размере базы в 25Гб. Вдруг начались ни с того ни с сего тормоза задача выполнялась по 3 минуты, когда обычно за секунду две в отладчике показывало, что Записать() и Оповестить() занимали поровну время.
Уменьшил объем выделенного ОЗУ до 25Гб тормоза резко кончились.
Ни сервер SQL ни 1C при этом не перезагружал.
PS Позже разобрался, память не причем, проблема была в кривом запросе.
(19)
База 300+ Гб. MS SQL 2008R2. Платформа 8.3.4.465. Перезагрузка на моей памяти (3 года работаю тут понадобилась ровно 1 раз - по причине некой криворукости одного из разработчиков. После этого инцидента был по-человечески настроен сервер 1С в части выделяемой памяти на рабочие процессы и прочее. И... всё. Если вы скриптами регулярно дёргаете там что-то у себя, это не значит, что у остальных всё так плохо с руками и головой.
База 300+ Гб. MS SQL 2008R2. Платформа 8.3.4.465. Перезагрузка на моей памяти (3 года работаю тут понадобилась ровно 1 раз - по причине некой криворукости одного из разработчиков. После этого инцидента был по-человечески настроен сервер 1С в части выделяемой памяти на рабочие процессы и прочее. И... всё. Если вы скриптами регулярно дёргаете там что-то у себя, это не значит, что у остальных всё так плохо с руками и головой.
(20) (21)
К сожалению у заказчика сервер с ограниченными ресурсами. Кто занимался настройкой я не знаю, рамы в серваке всего 32гб. базы около 100г. при загрузке рамы ближе к 30 гигам (забивает именно скуль) 1с начинает дико тормозить, т.к. скуль начинает тупить. Из-за пачки доп модулей у 1с, 1с при таком использовании рамы тупо вываливается в определенную ошибку. Вот и был предложен такой костыль.
а перезагрузка скуля без 1с чревато ошибками в базе. поэтому эта богодельня вся так и перезагружается.. (
К сожалению у заказчика сервер с ограниченными ресурсами. Кто занимался настройкой я не знаю, рамы в серваке всего 32гб. базы около 100г. при загрузке рамы ближе к 30 гигам (забивает именно скуль) 1с начинает дико тормозить, т.к. скуль начинает тупить. Из-за пачки доп модулей у 1с, 1с при таком использовании рамы тупо вываливается в определенную ошибку. Вот и был предложен такой костыль.
а перезагрузка скуля без 1с чревато ошибками в базе. поэтому эта богодельня вся так и перезагружается.. (
(22) Уважаемый, ограничьте экземпляр SQL допустимым объёмом памяти, и на сервере 1С так же выставите пределы перезапуска рабочих процессов. А костыль с перезапусками срочно убирайте и не показывайте никому. Это как запросы в цикле - очень стыдно должно становиться от таких решений.
(23) Благодарю за рекомендации! Передам вашу информацию. Скуль был изначально с запасом ограничен. И повторюсь, от нас просили решение за 5 минут. заказчику вашу информацию передам, и себе на заметку возьму.
Еще раз спасибо за рекомендации!
Если еще подскажете как принудительно скулу сказать - освободить кусок рамы! тут вообще этой информации цены не будет! )
P.S. Всех с праздником!
Еще раз спасибо за рекомендации!
Если еще подскажете как принудительно скулу сказать - освободить кусок рамы! тут вообще этой информации цены не будет! )
P.S. Всех с праздником!
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот