Ограничение оперативной памяти для SQL SERVER 2008 под системой x64

1. Orkrist 26.10.11 23:47 Сейчас в теме
Стоит 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 гб?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. jeto 27.10.11 00:08 Сейчас в теме
SQL Server Management Studio;
Сервер - Свойства;
Память - Максимальный размер памяти сервера (по умолчанию) = 2 147 483 647;
Измени на нужное значение в Мб ну например 4096 (4 Гб).
criptid; b00ker; ruslan_ozu; Гриффин; Bold Enough; purgin; dimisa; Vextel; Orkrist; +9 Ответить
3. Orkrist 27.10.11 00:17 Сейчас в теме
(2) jeto, ОК, спасибо огромное за подсказку! До этого искал в Сервис - Параметры :)
4. sboi 27.10.11 11:22 Сейчас в теме
В вашем случае, если на одной машине находится как севрер 1С и сервер СУБД, рекомменду такую настройку:
Стоит понимать, что для нормальной работы ОС необъходимо 1-2 ГБ ОЗУ, если данный сервер не является ко всему еще и терминальным, то плюс по 256 МБ на одну сессию минимум.
Для работы сервера 1С реккомендуется отводить 2-4 и более ГБ ОЗУ, но это число зависи от количества работающих пользователей, а так же процессов, котоыре выполняют задачи требующие большого потреблеия ОЗУ (например, использование в памяти большой Таблицы значений).
Особенностью работы MS SQL SERVER является потребление ОЗУ в доступном ему количестве, т.е. может выжрать полносью всю ОЗУ и привесит работу сервера в крах. В памяти постоянно хранятся кеши выполненых планов запросов и др. Для этого применятся ограничение доступной памяти. В зависимости от: одновременно работающих пользователе, выполняемых SQL запросов и канечно же доступных ресурсов необходимо от 2-4 и более ГБ ОЗУ.
krovohlebka; +1 Ответить
10. Orkrist 02.11.11 07:31 Сейчас в теме
(4) sboi, Спасибо вам за столь развернутый ответ! Именно такие особенности работы MS SQL SERVER у меня и происходили, пока не ограничил до 5Гб.
13. pwp2008 03.03.12 14:47 Сейчас в теме
(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Гб., а вот тем не менее...
16. dino_raptor 2 03.02.14 14:10 Сейчас в теме
(13) pwp2008, В эту память помещается не только ваша база но и темпдб и текущие транзакции и создание или обновления индексов и статистики. но проблема скорее всего что при выходе за границы памяти сиквел лихорадочно начинает отчищать страницы памяти сбрасывая при этом данные на диск в хранилище, журналы и при этом еще и солидно юзает своп. Проверьте загрузку дисковой подсистемы в этот момент может требуется её оптимизация и апгрейд, По сиквелу попробуйте поиграться с параметром ft crawl bandwidth (min) - очень индивидуален для каждой конфигурации. по умолчанию 0 - тоесть сиквел пытается освободить все дополнительные буферные пулы.
5. sboi 27.10.11 11:25 Сейчас в теме
Забыл упоменуть про разраядность ОС. В 64-х разрядных системах досупно все адресное простаноство, ограничение есть, но пока столько ОЗУ вы не потребляете.
6. anc2002 01.11.11 09:06 Сейчас в теме
Добейте размер оперативки до 16 ГБ, станет полегче
7. andreydv87 01.11.11 15:51 Сейчас в теме
8. Orkrist 01.11.11 23:06 Сейчас в теме
(7) andreydv87, Размер базы 7,2Гб. До того как провел регламентные задания Обновление статистики и Перестроение индексов было около 6,1ГБ
11. andreydv87 02.11.11 16:20 Сейчас в теме
(8) Orkrist, сделайте сжатие, размер должен уменьшится.
9. пользователь 02.11.11 01:43
Сообщение было скрыто модератором.
...
12. пользователь 03.02.12 08:58
Сообщение было скрыто модератором.
...
14. torg1c 36 16.01.14 14:49 Сейчас в теме
Кстати много памяти то же зло.
1С Документооборот.

Выделил из 256 Гб, 96Гб SQL Server 2012 он использовал 60Гб при размере базы в 25Гб. Вдруг начались ни с того ни с сего тормоза задача выполнялась по 3 минуты, когда обычно за секунду две в отладчике показывало, что Записать() и Оповестить() занимали поровну время.

Уменьшил объем выделенного ОЗУ до 25Гб тормоза резко кончились.

Ни сервер SQL ни 1C при этом не перезагружал.

PS Позже разобрался, память не причем, проблема была в кривом запросе.
15. erdos 17.01.14 08:47 Сейчас в теме
8 ГБайт - маловато. Сейчас оперативная память не дорагая. Докупите еще 8 ГБайт. Реально быстрее работать сервер будет.
17. Veizdem 19.03.15 10:51 Сейчас в теме
А сколько памяти порекомндуете для Win Server 2008 x64 + MS SQL 2008 x64 с размером базы 62 гига?
18. progr-2008 118 16.07.16 00:22 Сейчас в теме
Для MS SQL 2014 надо больше памяти, чем для MS SQL 2008?
19. korvinus-md 19.07.16 15:15 Сейчас в теме
ну и не забудьте про костыли - скрипт по перезагрузке службы 1с и скуля... где то под утро, или когда удобно.
20. GreenDragon 15.02.17 11:54 Сейчас в теме
(19)
База 300+ Гб. MS SQL 2008R2. Платформа 8.3.4.465. Перезагрузка на моей памяти (3 года работаю тут понадобилась ровно 1 раз - по причине некой криворукости одного из разработчиков. После этого инцидента был по-человечески настроен сервер 1С в части выделяемой памяти на рабочие процессы и прочее. И... всё. Если вы скриптами регулярно дёргаете там что-то у себя, это не значит, что у остальных всё так плохо с руками и головой.
22. korvinus-md 15.02.17 13:56 Сейчас в теме
(20) (21)
К сожалению у заказчика сервер с ограниченными ресурсами. Кто занимался настройкой я не знаю, рамы в серваке всего 32гб. базы около 100г. при загрузке рамы ближе к 30 гигам (забивает именно скуль) 1с начинает дико тормозить, т.к. скуль начинает тупить. Из-за пачки доп модулей у 1с, 1с при таком использовании рамы тупо вываливается в определенную ошибку. Вот и был предложен такой костыль.

а перезагрузка скуля без 1с чревато ошибками в базе. поэтому эта богодельня вся так и перезагружается.. (
23. GreenDragon 20.02.17 15:28 Сейчас в теме
(22) Уважаемый, ограничьте экземпляр SQL допустимым объёмом памяти, и на сервере 1С так же выставите пределы перезапуска рабочих процессов. А костыль с перезапусками срочно убирайте и не показывайте никому. Это как запросы в цикле - очень стыдно должно становиться от таких решений.
Designer1C; +1 Ответить
24. korvinus-md 20.02.17 21:31 Сейчас в теме
(23) Благодарю за рекомендации! Передам вашу информацию. Скуль был изначально с запасом ограничен. И повторюсь, от нас просили решение за 5 минут. заказчику вашу информацию передам, и себе на заметку возьму.
Еще раз спасибо за рекомендации!
Если еще подскажете как принудительно скулу сказать - освободить кусок рамы! тут вообще этой информации цены не будет! )

P.S. Всех с праздником!
21. minarenko 15.02.17 13:35 Сейчас в теме
(19) это какая то жесть. перезапуск скуля и 1с каждый день...
можно узнать какие еще костыли у вас имеются?
Ur4uk; GreenDragon; +2 Ответить
25. vkozak 17.04.17 09:56 Сейчас в теме
Спасибо всем кто здесь оставил комментарии. Помогли разобраться с моими сложностями!
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот