gifts2017

Как «перезапустить» сервер приложений 1С

Опубликовал Владимир Гусев (adhocprog) в раздел Администрирование - Системное

Иногда сервер приложений занимает всю память и ее надо освободить.

Можно презапустить службу 1С, но это может привести к тому, что сеансы пользователей, которые работаю с данными, завершаться аварийно.

Есть возможность перезапустить рабочие процессы сервера приложений без заверешния работы пользователей.

Для этого в консоли сервера выбираем процесс, который занял больше всего памяти и открываем его свойства.

В свойствах процесса указываем Использование = Не использовать. Нажимаем ОК.

Без паники. Все сеансы пользователей автоматически перейдут на другие рабочие процессы. Проверено на практике (много раз).

Дожидаемся, пока процесс не завершится:

Примечание: сеанс Конфигуратора не переносится с процесса на процесс.

После этого повторяем обратную операцию. Открываем свойство остановившегося рабочего процесса, указываем Использование = Использовать.

Ждем. При первом подключении выделяется память:

Все. Память освободилась. Начинается новая жизнь.

Также можно настроить автоматический перезапуск сервера.

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение

Комментарии

1. Alexey (alexex) 31.05.12 08:11
это делает намного проще. В кластере устанавливаем порог допустимого объема памяти см. приложение.

+
Упустил главный момент необходимо поставить "Интервал превышения допустимого объема памяти __ секунд"

p.s. Работает как часы, версия платформы 8.2.15.310

Выдержка из документации:

Интервал перезапуска __ секунд

Интервал времени после запуска процесса, по истечении которого рабочий процесс перезапускается. Нулевое значение означает, что рабочие процессы не будут перезапускаться автоматически.

Допустимый объем памяти __ KB

Устанавливает предельный объем виртуального адресного пространства, после постоянного превышения которого в течение определенного времени (см. следующий параметр) рабочий процесс будет автоматически перезапущен. Нулевое значение означает, что критический объем памяти не задан и автоматический перезапуск рабочих процессов не выполняется.

Интервал превышения допустимого объема памяти __ секунд

Определяет интервал времени постоянного превышения предельного объема виртуального адресного пространства, занимаемого рабочим процессом (см. предыдущий параметр), после которого выполняется автоматический перезапуск рабочего процесса. Нулевое значение означает, что автоматически перезапуск рабочих процессов не выполняется.
Прикрепленные файлы:
1v7; Kom-off; Sergoninfostarru; sanches; Misanets; tolyan_ekb; MoshkovEV; JohnyDeath; i_lo; iov; sergiobargio1; Юрий ЛЛ; Andreyyy; AlX0id; Alex_Japanese_Student; adhocprog; +16 Ответить 3
2. DERL (DERL) 31.05.12 09:27
Спасибо!
Возьмем на зметку :)
...
3. Владимир Гусев (adhocprog) 31.05.12 09:55
4. Марат Биккин (squad) 31.05.12 10:43
Методом пользуемся, когда нужно перезапустить рабочий процесс с зависшими фоновыми заданиями.
Все пользовательские сессии перебрасываются на другой рабочий процесс, а этот ("зависший") убивается в диспетчере задач (для этого нужно в его колонках вывести PID процесса, а в свойствах рабочего процесса 1С посмотреть этот самый PID).
zemochka; adhocprog; mtv:); vpapulov; Serj1C; +5 Ответить 1
5. alex_japanese_student (Alex_Japanese_Student) 31.05.12 10:59
(1) alexex,
спасибо, будем пробовать
6. hamlo_666 (ak0710) 31.05.12 11:00
Сейчас проверил у себя , только один рабочий процесс, как сделать чтобы было больше ?, если завершу то точно все юзверы отключаться
7. Александр Крынецкий (echo77) 31.05.12 11:35
(6) Посмотрите в желто-оранжевой книжке по особенностям 1С в клиент-серверном варианте
8. Марат Биккин (squad) 31.05.12 11:40
(6) hamlo_666,
В консоли администрирования: Кластеры-<ваш кластер>- Рабочие серверы-<ваш кластер>- Рабочие процессы - Добавить
9. Рягузов (ravsan) 31.05.12 11:41
Изменять настройку рабочих процессов без последующего перезапуска службы 1С влечет за собой кучу проблем у пользователей, проверено на практике :). Поиграться конечно можно, но перезапуск службы в конечном итоге обязателен.
10. Владимир Гусев (adhocprog) 31.05.12 13:54
(9) конкретно какие проблемы?
11. Рягузов (ravsan) 31.05.12 14:30
Вот нашел, начались сыпаться вот такие ошибки (УПП, в базе находилось примерно 200 пользователей):

1. При записи какого либо объекта, в данном примере, документа "Заявка на расходвание средств":
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
{ОбщийМодуль.ПроцедурыОбменаУПП.Модуль(884)}: Ошибка при получении значения атрибута контекста (НаличиеОбменаУПП)
по причине:
Попытка получения неинициализированного значения параметра сеанса

2. При входе в систему сразу выдавала ошибку: "Таблица не найдена "Справочник.Пользователи"..... и кнопка "Завершить работу"

Раньше таких ошибок не возникало, началось именно после того, как мы добавили наживую рабочие процессы.
Ошибки возникали хаотично, беглый анализ показал, ошибки появляются у тех пользователей которых сервер начал перекидывать с одного процесса на другой распределяя нагрузку. В начале пытались выкидывать этих пользователей из базы и после того как они заходили заново ошибка уходила, но как оказалось не надолго. Помучавшись два дня, в конечном итоге, вырубили всех пользователей, добавили заново рабочие процессы, перезапустири службу и проблем больше не было.
И в инсрукции к серверу явно написано нужно перезапускать, но как всегда начинаешь их читать когда уже проблемы возникли.
Cifer; adhocprog; +2 Ответить 2
12. Владимир Гусев (adhocprog) 31.05.12 15:47
13. NFF (NFF) 31.05.12 17:12
(11) ravsan, Это была платформенная ошибка в 8.2.14 или 8.2.15 1С-ки её исправили

И в инсрукции к серверу явно написано нужно перезапускать
если не сложно напишите где, я такого не встречал.

Использую методику из первого поста 2 мес. полет нормальный. 350 активных пользователей.
Xytras; adhocprog; +2 Ответить
14. Рягузов (ravsan) 31.05.12 17:25
NFF, Это была платформенная ошибка в 8.2.14 или 8.2.15 1С-ки её исправили

Стояла платформа 8.2.14.519, согласен, очень может быть что проблема в ней.
15. Ирли Бёрд (EarlyBird) 31.05.12 18:21
Спасибо участникам за комменты, чрезвычайно познавательное обсуждение.
16. Александр Капустин (kapustinag) 31.05.12 22:44
(1) alexex,

Наверно, не на всех версиях платформы это свойство ведет себя так, как описано в документации.
У нас на платформе 8.2.13.289 и .14.540 процессы продолжали жить с памятью, превышающей установленное пороговое значение, и при этом никакие сеансы пользователей не перемещались на другие процессы.
17. Invaa (Invaa) 01.06.12 18:48
на платформе 8.2.14.537 есть глюки

А вот, что пишут 1С по этому поводу:

10096672 Попытка получения неинициализированного значения параметра сеанса
Проблема:
В клиент-серверном варианте информационной базы при работе в толстом клиенте, если кластер содержит несколько рабочих процессов, или выполнялись динамические обновления конфигурации базы данных, то при попытке получить из кода толстого клиента значения некоторых параметров сеанса может происходить ошибка
Попытка получения неинициализированного значения параметра сеанса

Дата публикации:
2012-01-19

исправлено в 8.2.15.301
18. Dmitry Dmitry (Dimasik2007) 02.06.12 17:46
Не когда бы не подумал, что инфостарт докатиться до подобных статей, которые расписаны в любом руководстве...
Или инструкции читать сейчас не в моде?
19. Serj (Serj1C) 04.06.12 08:51
(18) Dimasik2007, ладно вам. эта статья довольно полезная, особенно комменты. в частности (4)
Инфостарт "докатился". кучу публикаций даже не возникает желание открыть.
20. Денис (Den_D) 06.06.12 10:34
(19) Serj1C, (18) Dimasik2007,
Не когда бы не подумал, что инфостарт докатиться до подобных статей

так происходит со всеми ресурсами по мере нарастания их популярности
21. Юрий Лазаренко (TitanLuchs) 08.06.12 10:41
Полезный топик, и комменты порадовали. А то постоянно ждать приходилось, пока все юзеры по домам в конце рабочего дня разойдутся, или выгонять всех.
22. Алексей Соловьев (Silenser) 18.06.12 20:43
(20) Den_D,
Собственно, в отсутствии популярности, ресурс загибается. Нужен баланс.
23. valery (valery_ok) 27.11.12 12:14
(22) Silenser,
как собственно и в рабочих процессах сервера :)
24. Trotter_NN 27.11.12 13:30
Вопрос нуба:
что это на картинках и где про это почитать можно ?)))
25. Владимир Гусев (adhocprog) 27.11.12 13:39
(24) это сервер приложений 1С. Первоисточник - это документация 1С.
26. Денис Кузнецов (kuza_87) 15.01.13 12:32
С недавнего времени тоже стал рабочие процессы убивать. Удобно и практически без последствий!
27. Александр Кирилюк (ArtfulCrom) 16.01.13 22:34
Прекрасный метод. Репетируем его с 1С еще с 8.2.9.... до сих пор (8.3.ххх) не работает корректно. Когда реально промышленные масштабы - сходит с ума и валится так, что потом фиг поднимешь...
Хотя конечно многое уже поправили, но ИТОГО не работает. Так что будьте осторожны )

ЗЫ. Кстати задумано так, что отключать можно даже один процесс. Система должна автоматом создать НОВЫЙ и перекинуть на него юзеров, не срабатывает. Не всегда.

ЗЗЫ: Автоматический перезапуск - оказался фигней. У вас 20-30 процессов. Они ОДНОВРЕМЕННО достигают таймаута и ОДНОВРЕМЕННО создав свои клоны отрубаются. Но пока происходит переключение у вас 40-60 активных процессов - система сходит с ума и падает.

ЗЗЫ: автоматически по превышению - не работает - балансировка нагрузки приводит к тому, что процессы ПРАКТИЧЕСКИ одновременно достигают придела памяти - дальше происходит коллапс из предыдущего варианта.

Так, что пользуйтесь, но бойтесь ))
28. Сергей (Sergoninfostarru) 17.04.13 15:00
Ручное управление - прямая дорога 1С-ку к превращению в периферию сервера приложений. Нужен автоматический процес - cmd или bat файл.
29. Владимир Гусев (adhocprog) 17.04.13 15:11
30. Сергей (Sergoninfostarru) 18.04.13 11:31
Где в логах можно увидеть перезапуск сервера приложений в автоматическом режиме?
Откуда знать, что перезапуск произошел успешно? Кстати, сам MS SQL Server постепенно увеличивает объем памяти в рабочих процесах во время работы. Поэтому остановки/перезапуска только Агента 1С недостаточно - нужно останавливать SQL Server.
31. Владимир Гусев (adhocprog) 18.04.13 11:41
>> Где в логах можно увидеть перезапуск сервера приложений в автоматическом режиме?
Хороший вопрос. Надо поискать.
>> Кстати, сам MS SQL Server постепенно увеличивает объем памяти в рабочих процесах во время работы.
"Рабочие процессы" это понятие сервера приложений 1С.
Понятно, что у SQL своя память и за ней тоже можно следить и управлять. Здесь речь только про сервер приложений.
>> Поэтому остановки/перезапуска только Агента 1С недостаточно - нужно останавливать SQL Server.
Это за рамками данной публикации.
32. cmd_vasec (cmd_vasec) 14.01.15 10:25
а как данный момент реализуется в 8.3.5 ?
33. Артур Коржан (1v7) 06.05.15 12:14
(32) cmd_vasec, тоже неделю назад столкнулся. здесь описано: http://1cnik.by/server1crphost.html
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа