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

Администрирование - Системное

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

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

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

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

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

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

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

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

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

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

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

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

См. также

Комментарии
1. Alexey (alexex) 45 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) 1094 31.05.12 09:55 Сейчас в теме
4. Марат Биккин (squad) 136 31.05.12 10:43 Сейчас в теме
Методом пользуемся, когда нужно перезапустить рабочий процесс с зависшими фоновыми заданиями.
Все пользовательские сессии перебрасываются на другой рабочий процесс, а этот ("зависший") убивается в диспетчере задач (для этого нужно в его колонках вывести PID процесса, а в свойствах рабочего процесса 1С посмотреть этот самый PID).
zemochka; adhocprog; mtv:); vpapulov; Serj1C; +5 Ответить 1
5. alex_japanese_student (Alex_Japanese_Student) 329 31.05.12 10:59 Сейчас в теме
(1) alexex,
спасибо, будем пробовать
6. hamlo_666 (ak0710) 31.05.12 11:00 Сейчас в теме
Сейчас проверил у себя , только один рабочий процесс, как сделать чтобы было больше ?, если завершу то точно все юзверы отключаться
7. Александр Крынецкий (echo77) 737 31.05.12 11:35 Сейчас в теме
(6) Посмотрите в желто-оранжевой книжке по особенностям 1С в клиент-серверном варианте
8. Марат Биккин (squad) 136 31.05.12 11:40 Сейчас в теме
(6) hamlo_666,
В консоли администрирования: Кластеры-<ваш кластер>- Рабочие серверы-<ваш кластер>- Рабочие процессы - Добавить
9. Рягузов (ravsan) 89 31.05.12 11:41 Сейчас в теме
Изменять настройку рабочих процессов без последующего перезапуска службы 1С влечет за собой кучу проблем у пользователей, проверено на практике :). Поиграться конечно можно, но перезапуск службы в конечном итоге обязателен.
10. Владимир Гусев (adhocprog) 1094 31.05.12 13:54 Сейчас в теме
(9) конкретно какие проблемы?
11. Рягузов (ravsan) 89 31.05.12 14:30 Сейчас в теме
Вот нашел, начались сыпаться вот такие ошибки (УПП, в базе находилось примерно 200 пользователей):

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

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

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

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

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

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

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

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

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

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

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

так происходит со всеми ресурсами по мере нарастания их популярности
21. Юрий Лазаренко (TitanLuchs) 08.06.12 10:41 Сейчас в теме
Полезный топик, и комменты порадовали. А то постоянно ждать приходилось, пока все юзеры по домам в конце рабочего дня разойдутся, или выгонять всех.
22. Алексей Соловьев (Silenser) 370 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) 1094 27.11.12 13:39 Сейчас в теме
(24) это сервер приложений 1С. Первоисточник - это документация 1С.
26. Денис Кузнецов (kuza_87) 24 15.01.13 12:32 Сейчас в теме
С недавнего времени тоже стал рабочие процессы убивать. Удобно и практически без последствий!
27. Александр Кирилюк (ArtfulCrom) 16.01.13 22:34 Сейчас в теме
Прекрасный метод. Репетируем его с 1С еще с 8.2.9.... до сих пор (8.3.ххх) не работает корректно. Когда реально промышленные масштабы - сходит с ума и валится так, что потом фиг поднимешь...
Хотя конечно многое уже поправили, но ИТОГО не работает. Так что будьте осторожны )

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

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

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

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