Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Оперативная память SQL Server

Оперативная память SQL Server
Я
   Tester
 
06.11.19 - 13:33
Всем привет.
Как известно, MS SQL Server выедает всю выделенную ему память. Может кто подскажет, как узнать сколько оперативной памяти доступно для выполнения запроса в 1С в рамках этой выеденной памяти?
https://d.radikal.ru/d06/1911/89/1a6f909edced.png
 
 
   ДенисЧ
 
1 - 06.11.19 - 13:34
Сколько свопа хватит
   Tester
 
2 - 06.11.19 - 13:46
Просто началась проблема с тем, что одно из ночных регламентных заданий стало периодически падать с ошибкой "Недостаточно памяти для получения результата запроса к базе данных". Да, там ворочается десяток временных таблиц в менеджере запросов, но организована нормальная их очистка после потери актуальности. И в результате возникает главный вопрос - если я, например, знаю, что для выполнения запроса в 1С нужно 50 ГБ памяти для сиквела, то как узнать, если среди выеденных сиквелом 350 ГБ есть эти свободные 50 ГБ для выполнения?
   H A D G E H O G s
 
3 - 06.11.19 - 13:53
(2) dmv поможет вам узнать текст этого запроса.
Техжурнал с DBMSSQL - узнать регзадание и строчку текста кода.
Прямые руки - переписать этот кусок треша.
   H A D G E H O G s
 
4 - 06.11.19 - 13:54
Как же люди любят лечить проблемы, прикрывая дыру в асфальте картонкой.
   SSSSS_AAAAA
 
5 - 06.11.19 - 14:04
(0) А с чего взяли, что это хоть как-то соотносится именно с SQL сервером? Или вы считаете, что это SQL сервер получает результаты запроса?
   mistеr
 
6 - 06.11.19 - 14:45
(5) +1, сообщение скорее говорит о том, что памяти не хватило рабочему процессу сервера 1С.

Советую еще журналы винды глянуть.
   mistеr
 
7 - 06.11.19 - 14:46
(2) Если временные таблицы не влезают в ОП, они размещаются на диске.
   Tester
 
8 - 06.11.19 - 15:01
(5) (6) что-то я похоже запутался, но немного проясняется ) Т.е. при такой ошибке 100% не хватает оперативной памяти rphost'у, т.к. он не умеет писать в файл подкачки? А сиквел умеет писать в tempdb и файл подкачки, поэтому можно хранить, например временные таблицы больше размера оперативной памяти?

Если все так, тогда просто надо уменьшить объем выделяемой оперативной памяти сиквелу и оставить больше для rphost'ов, т.к. сервер БД и 1С на одной машине?
   mistеr
 
9 - 06.11.19 - 15:11
(8) Смотри логи
   dmrjan
 
10 - 06.11.19 - 15:47
(0) Заходишь в SQL Server Managmet Studio и ограничиваешь объем оперативки, выделяемой на нужды MSSQL.
   dmrjan
 
11 - 06.11.19 - 15:52
Кроме того включи регулятор запросов со значением примерно 10000. Нужно будет - увеличишь. По крайней мере будешь знать - кто делает злобные отчеты.
   H A D G E H O G s
 
12 - 06.11.19 - 15:55
(11) Когда эти кто-то постучат в дверь (в лучшем случае) автору сапогом.
   H A D G E H O G s
 
13 - 06.11.19 - 15:56
(11) Но вообще автор сказал же, что это регламенты, считающие 100500 раз базу данных и вываливающие 0.5% реально нужных данных в результат.
   mistеr
 
14 - 06.11.19 - 16:34
(13) Похоже, совсем не 0.5%, раз памяти не хватает.
   mistеr
 
15 - 06.11.19 - 16:35
(14) Но даже это не было бы проблемой, если бы 1С умела обрабатывать результат запроса без загрузки всех данных в память.
   Tester
 
16 - 11.11.19 - 09:02
(9) В логах винды ничего нет.
(13) (14) в том то и дело, что не 0.5%. В общем урезал нормально так объем выделяемой памяти сиквелу и пока проблем нет. Плюс в планах оптимизация запроса, т.к. к сожалению используются поля составных типов.
   Cyberhawk
 
17 - 11.11.19 - 09:23
Сервер 1С 32б что ли?
   Cyberhawk
 
18 - 11.11.19 - 09:30
Но скорее всего это срабатывает "Максимальный объем памяти рабочих процессов" и "Безопасный расход памяти за один вызов"
   Tester
 
19 - 11.11.19 - 09:59
(17) Нет, 64.
1-й параметр стоял в 50 гигов. Вернул 0 на всякий случай.
   Провинциальный 1сник
 
20 - 11.11.19 - 10:03
(5) +1, стопудово тут sql-сервер ни при чем. Ему память жизненно не так уж и важна, и является больше фактором быстродействия. Само по себе ядро sql-сервера много не ест, практически вся используемая память - это кэш данных и вторичных структур для более быстрого поиска.
   Cyberhawk
 
21 - 11.11.19 - 10:32
(19) "1-й параметр стоял в 50 гигов" // Это и была вероянтая причина. Сколько там отъел скуль на это не влияет, можешь возвращать взад.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.