|
Оперативная память 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 гигов" // Это и была вероянтая причина. Сколько там отъел скуль на это не влияет, можешь возвращать взад.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |