1. AndrewKop 10.01.19 09:58 Сейчас в теме

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

Столкнулся с тем что РПхост на пару с СКУЛЬ-сервантом отъели всю память. Почти 48 гигов. Не знаю, как определить причину такого поведения. На все что хватило мозгов - это запустить счетчик в консоли администрирования сервера 1С. Но по счетчику видно, что отъедается якобы около 5 гигов. Не подскажите как можно диагностировать утечку?
Прикрепленные файлы:
Ответы
Избранное Подписка Сортировка: Древо
10. AntonSm 22 10.01.19 13:18 Сейчас в теме
(1)
Не подскажите как можно диагностировать утечку?


Что можно сделать:
В диспетчере задач посмотреть ИД процесса рпхост.
По ИД найти рабочий процесс, соответствующий рпхосту.
В соединениях посмотреть номера сеансов.
А зная номер сеанса, можно проанализировать текущие сеансы в консоли, либо журнал регистрации в конкретной базе.
Прикрепленные файлы:
AndrewKop; +1 Ответить
12. AndrewKop 10.01.19 15:33 Сейчас в теме
(10) За совет спасибо. на случай нескольких рабочих процессов - хорошая подсказка. Но у меня все сеансы на одном рабочем процессе висят. Позже сделаю как предложили ниже: для каждой базы свой рабочий процесс.
19. AntonSm 22 11.01.19 15:49 Сейчас в теме
(12) раз один рабочий процесс, то должно же быть видно в списке сеансов, какой захватил много ресурсов?
или даже там не видно?
20. AndrewKop 11.01.19 16:58 Сейчас в теме
(19) К сожалению, не обратил внимание, что в "сеансах" отображается такая развернутая аналитика. Возможно там что-то бы и показало. Но посмотреть уже не могу - "решил" вопрос (возможно временно) перезагрузив сервер. На будущее, если столкнусь с подобным снова, буду иметь ввиду. спасибо!
21. AntonSm 22 12.01.19 20:39 Сейчас в теме
(20) Ага. В консоли видно практически все, что нужно для оперативного исправления ситуации.
Плюс еще журнал регистрации, чтобы понять, например, что пользователь запустил какой-то отчет, потом ему надоело ждать, он снял через диспетчер задач процесс 1С и заново зашел.
А отчет все формируется и формируется, сервак чето тормозит.
И никто ничего не делает уже, ни у кого ничего не запущено, а сервак тормозит.
С одним рабочим процессом конечно проще.
Но с несколькими устойчивее ситуация получается.
Если надо грохнуть уже сам процесс рпхоста на сервере, то с одним рабочим процессом отвалятся все. А с несколькими только те, кто на этом рабочем процессе висит.
Т.е. негатива от пользователей будет меньше.
22. AndrewKop 14.01.19 17:49 Сейчас в теме
16. alsan 8 11.01.19 09:53 Сейчас в теме
(1)
чик в консоли администрирования сервера 1С. Но по счетчику видно, что отъедается якобы около 5 гигов. Не подскажите как можно диагностировать утечку?

Попробуйте в счетчике администрирования поставить другую длительность сбора, сейчас у Вас - "серверный вызов", можно поставить, к примеру - 7200000 (это два часа) . Так Вы увидите другую картину и это может натолкнет на мысли о коварном пользователе или фоновом задании )
Прикрепленные файлы:
AndrewKop; +1 Ответить
2. herfis 276 10.01.19 10:34 Сейчас в теме
Если у скуля не установить верхний предел потребления памяти (в настройках сервера), то он постепенно подгребает всю свободную память под кэш. Ну, чтобы это добро зря не пропадало.
4. AndrewKop 10.01.19 11:15 Сейчас в теме
(2) Ну со СКУЛем да. Слышал такое. Запасает на черный день. А вот почему РПхост так себя ведет?
На хабре пост был от 1С, что они недавно весь код на с++ 17 перевели, может поэтому)))
3. vasilev2015 846 10.01.19 10:51 Сейчас в теме
Здравствуйте !

Возможно, неоптимальные алгоритмы из-за доработки 1С.
в консоли кластера 1С есть статистика по памяти в разрезе пользователей.
Если Вам повезет, Вы сможете найти "жадного" пользователя.
5. AndrewKop 10.01.19 11:16 Сейчас в теме
(3) В топике в скриншоте выкладывал. По замерам отъедает только 4,5 гига. А по факту 12+.
6. vasilev2015 846 10.01.19 11:25 Сейчас в теме
(5) сделайте в свойствах кластера интервал перезапуска раз в сутки
Прикрепленные файлы:
7. AndrewKop 10.01.19 11:27 Сейчас в теме
(6) Не могу. В данный момент, по крайней мере. По вечерам сервант активно трудится. А на будущее наверное да. Поставлю. Спасибо за идею.
11. nyam-nyam 10.01.19 13:59 Сейчас в теме
(7)От перезапуска рабочих процессов сервант не перестанет работать. Может быть лишь небольшое замедление работы при переносе соединений на новый рабочий процесс ибо кэш у них у каждого свой. Зато от утечек памяти это то что доктор прописал. :)
13. AndrewKop 10.01.19 15:36 Сейчас в теме
(11) Ох, что-то мне страшновато такое делать) А если рабочий процесс один, такое можно делать? Автоматом запустится новый rphost?
14. herfis 276 10.01.19 16:14 Сейчас в теме
(13) Да, можно. Штатный перезапуск рабочего процесса выглядит как создание нового, перенос сеансов и убитие старого. Бывали случаи, когда при настроенном регламентном перезапуске и проблемами с переносом сеансов рабочие процессы плодились в неприличных количествах :) Не за один день, ессно.
15. nyam-nyam 10.01.19 17:39 Сейчас в теме
(13)Главное чтобы бекап был настроен и работал. А то тут сегодня была тема где УПП с РИБ год без бекапа крутилась и докрутилась в итоге... :) А так да, переход с одного рабочего процесса на другой автоматизирован, но контроль за сервером и его самостоятельностью в любом случае должен быть (это к (14)).
8. vasilev2015 846 10.01.19 11:27 Сейчас в теме
(6) только осторожнее, здесь опасное место. )))
9. herfis 276 10.01.19 11:44 Сейчас в теме
(5) Попробуйте включить в опциях кластера выделять под каждую базу отдельный rphost. Несмотря на некоторый перерасход памяти будет легче мониторить проблемные ситуации. Они хотя бы будут разделены по базам. Это можно делать "на лету". Менеджер кластера попробует перераспределить сессии на новые rphost. Если есть проблемные сессии, это скоро станет очевидным. В конце концов проблемный rphost можно будет прибить руками и это не затронет сессии на других процессах. Желательно только обеспечить некоторый запас свободной памяти перед такой операцией. Ну, заставить скуль чуток отдать, например.
AndrewKop; +1 Ответить
17. meriferi 11.01.19 11:01 Сейчас в теме
Ограничивайте скуль размерами используемой памяти, и посмотрите свои регламентные задания
18. sutygin 32 11.01.19 14:03 Сейчас в теме
Одна умная тетенька, по совместительству работающая консультантом в Microsoft по вопросам SQL говорила на занятиях - "Сколько памяти не дай SQL серверу - он все сожрет" Но так же она говорила про то что если SQL не задействует какой либо объем памяти очень долго - то он должен ее освобождать. Что собственно на практике замечено небыло :). Поэтому при настройке SQL надо указывать сколько максимально ему можно жрать памяти.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата от 110 000 руб. до 120 000 руб.
Полный день

Аналитик 1С
Санкт-Петербург
зарплата от 80 000 руб.
Полный день

Программист 1С
Самара
зарплата от 50 000 руб.
Полный день

Программист 1С
Нижний Новгород
зарплата до 120 000 руб.
Полный день

Программист 1С
Волгоград
зарплата от 45 000 руб. до 90 000 руб.
Полный день