Имя: Пароль:
1C
1С v8
Оперативная память SQL Server
0 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
Сколько свопа хватит
2 Tester
 
06.11.19
13:46
Просто началась проблема с тем, что одно из ночных регламентных заданий стало периодически падать с ошибкой "Недостаточно памяти для получения результата запроса к базе данных". Да, там ворочается десяток временных таблиц в менеджере запросов, но организована нормальная их очистка после потери актуальности. И в результате возникает главный вопрос - если я, например, знаю, что для выполнения запроса в 1С нужно 50 ГБ памяти для сиквела, то как узнать, если среди выеденных сиквелом 350 ГБ есть эти свободные 50 ГБ для выполнения?
3 H A D G E H O G s
 
06.11.19
13:53
(2) dmv поможет вам узнать текст этого запроса.
Техжурнал с DBMSSQL - узнать регзадание и строчку текста кода.
Прямые руки - переписать этот кусок треша.
4 H A D G E H O G s
 
06.11.19
13:54
Как же люди любят лечить проблемы, прикрывая дыру в асфальте картонкой.
5 SSSSS_AAAAA
 
06.11.19
14:04
(0) А с чего взяли, что это хоть как-то соотносится именно с SQL сервером? Или вы считаете, что это SQL сервер получает результаты запроса?
6 mistеr
 
06.11.19
14:45
(5) +1, сообщение скорее говорит о том, что памяти не хватило рабочему процессу сервера 1С.

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

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