Найти в Дзене

Нужно ли менять параметры ограничения потребления оперативной памяти Рабочим сервером 1С и если нужно, то в каких случаях?

Нужно ли менять параметры ограничения потребления оперативной памяти Рабочим сервером 1С и если нужно, то в каких случаях? Что это за параметры: ▫️Безопасный расход памяти за один вызов (КОРП) ▫️Критический объём памяти процессов (ПРОФ) ▫️Временно допустимый объём памяти процессов (ПРОФ) ▫️Интервал превышения допустимого объём памяти (ПРОФ) Значения по умолчанию: ▫️Безопасный расход памяти за один вызов = 0 (10% от Временно допустимого объёма памяти процессов) ▫️Критический объём памяти процессов = 0 (95% от объёма памяти в ОС) ▫️Временно допустимый объём памяти процессов = 0 (80% от объёма памяти в ОС) ▫️Интервал превышения допустимого объём памяти = 300 сек ❗️Объём памяти в ОС считывается только один раз при старте службы 1С и затем не обновляется. Это очень важно понимать в случае работы с виртуализацией - крайне не рекомендую работать с динамическим объёмом оперативной памяти ОС или менять её объём "налету" без перезапуска службы 1С. Когда стоит оставить настройки п

Нужно ли менять параметры ограничения потребления оперативной памяти Рабочим сервером 1С и если нужно, то в каких случаях?

Что это за параметры:

▫️Безопасный расход памяти за один вызов (КОРП)

▫️Критический объём памяти процессов (ПРОФ)

▫️Временно допустимый объём памяти процессов (ПРОФ)

▫️Интервал превышения допустимого объём памяти (ПРОФ)

Значения по умолчанию:

▫️Безопасный расход памяти за один вызов = 0 (10% от Временно допустимого объёма памяти процессов)

▫️Критический объём памяти процессов = 0 (95% от объёма памяти в ОС)

▫️Временно допустимый объём памяти процессов = 0 (80% от объёма памяти в ОС)

▫️Интервал превышения допустимого объём памяти = 300 сек

❗️Объём памяти в ОС считывается только один раз при старте службы 1С и затем не обновляется. Это очень важно понимать в случае работы с виртуализацией - крайне не рекомендую работать с динамическим объёмом оперативной памяти ОС или менять её объём "налету" без перезапуска службы 1С.

Когда стоит оставить настройки по умолчанию?

Если у вас в Операционной системе кроме сервера 1С больше ничего не работает и соответственно не потребляет большой (более 5%) оперативной памяти ОС.

Когда стоит менять значения по умолчанию?

Если у вас есть другие потребители большого объёма оперативной памяти на этой же ОС.

Например на одной ОС у нас работают:

▫️Сервер 1С и сервер СУБД

▫️Несколько служб 1С

▫️Несколько кластеров в одной службе 1С

На какие значения менять?

Тут всё достаточно просто и сложно одновременно))

Из простого:

Лучше всего соблюсти те же пропорции параметров Критического и Временного объёма от оперативной памяти ОС для этой службы/этого кластера 1С что и по умолчанию, т.е. 80% и 95%

Из сложного:

Определить какой объём памяти ОС вы выделяете службе/кластеру 1С.

Рассмотрим на простом примере "Сервер 1С и сервер СУБД на одной ОС"

Если мы можем ограничить сервер СУБД в потреблении оперативной памяти (в случае с MS SQL), то тогда -

Память для 1С = Память ОС - Память для SQL

Допустим у нас на ОС 128ГБ, серверу СУБД мы выделили 48ГБ, тогда Память для 1С = 80ГБ

Соответственно устанавливаем:

▫️Критический объём памяти процессов = 0 (95% от объёма Память для 1С), в нашем примере это 76ГБ

▫️Временно допустимый объём памяти процессов = 0 (80% от объёма Память для 1С), в нашем примере это 64ГБ

▫️Безопасный расход памяти за один вызов = 0, я не вижу особого смысла трогать этот параметр. так как он зависит от Временно допустимого объёма памяти процессов

Если же у нас вариант, когда на одной ОС несколько служб 1С или внутри одной службы несколько кластеров 1С, то тут только вы сами можете определить какой объём оперативной памяти вы выделяете каждой службе/кластер 1С и уже от этого значения посчитать %% для Критического и Временного ограничений.

У нас остался ещё один параметр "Интервал превышения допустимого объём памяти".

Этот параметр стоит менять только если ваш сценарий использования 1С подразумевает более долгое чем на 5 минут превышение 80% оперативной памяти и при этом оно не достигает 95%, тогда смело меняйте этот параметр в бОльшую сторону.

Что будет, если "побочный" потребитель оперативной памяти есть, а мы не учли это в настройках?

❗️Возможна ситуация, полной остановки ОС или прихода OOMKiler в случае Linux, например когда кто-то запустил в 1С процедуру с огромным потреблением оперативной памяти.

Кластер 1С не сможет вовремя защитить себя и ОС от перерасхода оперативки, так как не знает что она уже кончилась считая что вся оперативка ОС была отдана ему одному.