Расход оперативной памяти сервером 1С

1. robix 23.03.23 11:17 Сейчас в теме
Здравствуйте. Имеется сервер 1С на Windows Server. На нем одна база данных на MSSQL.
SQL сервер отдельно.
После перезагрузки через некоторое время процессы rphost занимают около 10 GB оперативной памяти.
Затем в течении недели процессы rphos начинают занимать около 25 GB оперативной памяти.
И в какой-то момент происходит освобождение оперативной памяти, и она становится снова в районе 10 GB под процессы rphost
В общем по истории видно, что циклически это все происходит. Рост - Освобождение - Рост - Особождение.
При этом нагрузка на сервер одинаковая примерно.

Вопрос. Можно ли как-то ограничить предел, до которой идет рост памяти под процессы rphost ?
И вообще, почему память так сильно увеличивается, c 10 аж до 25 GB ? Это особенность работы 1C сервера ?

p.s.
Что посоветуете, чтобы в принципе уменьшить расход оперативки, может быть есть какие-то утилиты, как отследить на что она реально расходуется 1C сервером... ?
По теме из базы знаний
Найденные решения
8. aezdakov 5 23.03.23 13:01 Сейчас в теме
(6)Почитайте тут: https://its.1c.ru/db/metod8dev/content/5815/hdoc
Там же есть ссылка на мануалы по настройке этого всего.
Работает оно стабильно, судя по тому, что вы пишите. Суть, если есть свободная оперативная память, которую можно забить кэшем, временными таблицами, результатами запросов, планами запросов и так далее, то почему бы это не сделать? Иначе нужно каждый раз бегать к скулю и запрашивать данные, заново интерпретировать запросы, строить кэш, анализировать RLS, мне кажется, что если данные будут в оперативной памяти, то будет их взять оттуда быстрее, нежели получать их от скуля.
Это не особенность 1С это особенность всех программ, держать интерпретацию процедур в оперативной памяти, нежели запрашивать их с жёсткого диска для вычисления процессором, куда быстрее. Дай гуглу хрому доступ к оперативке, он сожрёт её всю.
То, что вы описываете как периодичность похоже на время жизни процесса и на ограничение по памяти, когда процесс, который переступает порог расхода по памяти просто пересоздаётся.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. RustamZz 23.03.23 11:50 Сейчас в теме
(1) Купите КОРП лицензию в ней можно управлять лимитами на процессы - временно допустимый объем памяти.
4. robix 23.03.23 11:59 Сейчас в теме
(3) Спасибо. Уже куплена скорее всего :).
Получается, что этот параметр влияет на лимит бесполезно занятой памяти ?
5. RustamZz 23.03.23 12:03 Сейчас в теме
(4) На лимит полезно занятой, что бы не была бесполезно занята.
6. robix 23.03.23 12:27 Сейчас в теме
(5) Окей. Но по идее без этой опции 1с сервер должен иметь какое-то ограничение и не занимать больше какого-то процента всей памяти. Или как это работает ? Не стабильно ?
7. RustamZz 23.03.23 12:53 Сейчас в теме
8. aezdakov 5 23.03.23 13:01 Сейчас в теме
(6)Почитайте тут: https://its.1c.ru/db/metod8dev/content/5815/hdoc
Там же есть ссылка на мануалы по настройке этого всего.
Работает оно стабильно, судя по тому, что вы пишите. Суть, если есть свободная оперативная память, которую можно забить кэшем, временными таблицами, результатами запросов, планами запросов и так далее, то почему бы это не сделать? Иначе нужно каждый раз бегать к скулю и запрашивать данные, заново интерпретировать запросы, строить кэш, анализировать RLS, мне кажется, что если данные будут в оперативной памяти, то будет их взять оттуда быстрее, нежели получать их от скуля.
Это не особенность 1С это особенность всех программ, держать интерпретацию процедур в оперативной памяти, нежели запрашивать их с жёсткого диска для вычисления процессором, куда быстрее. Дай гуглу хрому доступ к оперативке, он сожрёт её всю.
То, что вы описываете как периодичность похоже на время жизни процесса и на ограничение по памяти, когда процесс, который переступает порог расхода по памяти просто пересоздаётся.
9. robix 23.03.23 13:23 Сейчас в теме
(8) А если память достигает предела и сервер начинает тормозить (такое наблюдалось на Линуксе).
Все таки мне кажется, что 1С коряво работает в этом случае
10. aezdakov 5 23.03.23 13:59 Сейчас в теме
(9) В подавляющем большинстве случаев те тормоза, который человек замечает - это тормоза из-за загруженности дисковой подсистемы.
Если речь про тормоза самой 1С, то в вашем случае, когда сервер sql - это физически другая машина, то тут ещё потенциально дело именно в сетке и в тех задержках, которая она порождает. Я работал со схемой, когда сервер sql был отдельно от сервера 1С и они общались через общую сетку, это порождало лютые задержки в работе 1С, минимизировали сперва просто установив отдельные сетевые платы, подключив сервера на прямую метровым патч кордом. Стала работать заметно лучше, но всё равно не идеально. Идеально оно стало, когда мы докупили железок на сервер 1С и развернули скуль уже на нём.
2. muskul 23.03.23 11:38 Сейчас в теме
Вам что жалко оперативки сервера? )
Оставьте свое сообщение

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