|
Почему rphost не освобождает память | ☑ | ||
---|---|---|---|---|
0
Антиквар
30.09.24
✎
21:42
|
Всем привет!
Есть тяжелые сеансы пользователей (какой-нибудь громоздкий отчет или заполнение огромного документа), которые отжирают много памяти (допустим в консоли кластера 1С видим, что сеанс пользователя достиг 10 Гб). Соответственно rphost пухнет тоже до таких размеров. Но когда у пользователя процесс заканчивается, сеанс память освобождает, в консоли кластера в колонке "Память текущая" видим пусто. При этом rphost остается распухшим, память не освобождает. Подскажите, как правильно выставить настройки рабочего сервера или кластера в консоли, чтобы rphost освобождал память? У нас лицензии есть и КОРП и ПРОФ, везде такая история. "Завершать проблемные процессы" - это же не то? |
|||
1
timurhv
30.09.24
✎
21:54
|
(0) Мешает жить? В ветке товарищи уже обсуждали эту тему
Может ли динамическое обновление сжирать память на сервере 1С |
|||
2
timurhv
30.09.24
✎
21:58
|
Ждете 8.3.27 и в свободное время (когда мало или нет пользователей) настраиваете перезапуск rphost:
https://wonderland.v8.1c.ru/blog/zadanie-raspisaniya-perezapuska-protsessov-dlya-rabochego-servera/ |
|||
3
Смотрящий
30.09.24
✎
22:17
|
(0) Почитайте про garbage collector - что это, нахрена нужно и как работает
|
|||
4
Антиквар
30.09.24
✎
23:02
|
(1) Да, мешает жить.
rphost-ы пухнут, и достигают критического объема памяти всех процессов, и если при этом какой-то сеанс пожирает много памяти, то срабатывает ограничение на безопасный расход памяти сеанса. И сеанс падает. А если разбухшие rphost-ы поудалять, то сеанс не падает, процесс доходит до конца. |
|||
5
Антиквар
30.09.24
✎
23:03
|
(2) это не сильно спасет, за час работы уже имеем несколько сильно распухших рпхостов. А перезапуск в лучшем случае на ночь можно запланировать, 1 раз в сутки
|
|||
6
Сергиус
01.10.24
✎
00:32
|
(0)Увеличивайте память.
|
|||
7
palsergeich
01.10.24
✎
01:10
|
(0) бу дизайн так.
То что рпхост скушал, он обратно ОС не отдаёт, но если нет утечки то пере использует в рамках процесса. Варианта 2. Увеличить память или пересмотреть алгоритмы и если это возможно оптимизировать их под уменьшение пиков потребления памяти, как правило это возможно, но не всегда |
|||
8
Антиквар
01.10.24
✎
01:59
|
спасибо, понял
|
|||
9
arsik
01.10.24
✎
07:54
|
Оставьте 1 рпхост. Тогда память переиспользоваться будет.
У вас сейчас не переиспользуется, т.к. разделяется по разным рпхостам. |
|||
10
Антиквар
03.10.24
✎
09:17
|
(9) а точно если по разным, то не переиспользуется?
У нас база сильно нагруженная, рпхосты в сумме до 70 Гб, а тут получится один рпхост будет весить 70 |
|||
11
Smit1C
03.10.24
✎
09:20
|
(10) демоническим обновлением пользуетесь ?
|
|||
12
arsik
03.10.24
✎
09:24
|
(11) А как 2 процесса будут переиспользовать память друг друга?
Там даже логика вроде такая - задача отдается наименее загруженному рпхосту если в настройках кластера указано "Приоритет по памяти". 1й нагрузили и заняли память, следующая нагрузка упадет на следующий рпхост ну и так далее. Попробуйте для начала в настройках кластера установить "приоритет по призводительности" + уменьшить количество рпхостов. |
|||
13
Антиквар
03.10.24
✎
21:04
|
(11) демонически только расширения иногда обновляем. Но с этим не связано, т.к. агент сервера периодически приходится гасить, чтоб рпхосты все убить, и далеко не всегда между перезапусками агента бывает динамическое обновление
|
|||
14
Антиквар
03.10.24
✎
21:10
|
(12) У нас всегда стоит приоритет по производительности.
На количество рпхостов повлиять сложно, платформа их сама генерит. В новых версиях правда обещают сделать такую возможность, но пока никак. Ну и всё же платформа не зря на несколько рпхостов делит, мне кажется если не перезапускать их на автомате, то всё же несколько - это лучше чем один |
|||
15
arsik
04.10.24
✎
10:09
|
(14) Что за гонево? А эти настройки для чего?
|
|||
16
ptiz
04.10.24
✎
10:14
|
(0) Интервал перезапуска рабочих процессов какой стоит?
|
|||
17
Тындр
04.10.24
✎
21:45
|
(0) А должен?
|
|||
18
breezee
06.10.24
✎
16:46
|
1. Обновите платформу. Писали что помогало
2. Если не поможет соберите ТЖ с событием SCRIPTCIRCREF 3. Если ничего не нашлось соберите ТЖ c событием CALL. Выберите с максимальным значением Memory и MemoryPeak. Возможны проблемы с тем что считываются избыточные данные в запросах. Юзеры выводят миллионы строк в отчетах. Возможо сложение больших строк |
|||
19
Антиквар
08.10.24
✎
01:36
|
(15) Это косвенные настройки, 1 рпхост с помощью их не сделать
(16) Не стоит. Мы не перезапускаем, т.к. непонятно, в какое время этот перезапуск произойдет (17) Уже понял, что нет (18) "Юзеры выводят миллионы строк в отчетах" - так и есть. Почему распухают рпхосты мне понятно, но я думал что после формирования отчета рпхост освободит память |
|||
20
palsergeich
08.10.24
✎
01:46
|
(19) освободит, когда юзер закроет форму или завершит сеанс, но ОС не отдаст как правило, почему тоже в принципе понятно.
Я бы поигрался с Временно допустимым объемом памяти и временем временно допустимого превышения. Но там есть нехорошая особенность - рубятся все вызовы которые больше 10% от временно допустимого объема разом. В моем случае, когда я поставил 200 ГБ, но есть утренняя некая выгрузка на 25 гб - это немного жизнь подпортило, потом ее переписали оптимизировав потребление памяти, но не всегда это возможно. В вашем контексте такое может быть и недопустимо. |
|||
21
breezee
08.10.24
✎
09:39
|
(20) > Но там есть нехорошая особенность - рубятся все вызовы которые больше 10% от временно допустимого объема разом.
Они рубятся только если временно допустимый уже превышен. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |