Как перезапустить сервер 1с
Доброго времени! Именно перезапуском службы решили избавиться от проблем занятых зависших лицензий, одновременно и память освободить. Много решений, пробовал
net stop [1C:Enterprise 8.3 Server Agent (x86-64)]
net start [1C:Enterprise 8.3 Server Agent (x86-64)]
пробовал с паузой ping -n 16 localhost>Nul , или sleep.exe
Не добился нужного результата.
Интересно то, что после ручной остановки и запуска вчерашние сеансы так и остались висеть.
Платформа 8.3.17.1851, может знаете какие-то более простые решения?
Установи в консоли кластера серверов в свойствах каждого кластера параметр «Перезапуск рабочих процессов», например, 86400 (сутки).
Немедленно завершить приложения.
taskkill /F /IM ragent.exe
taskkill /F /IM rmngr.exe
taskkill /F /IM rphost.exe
taskkill /F /IM httpd.exe
taskkill /F /IM w3wp.exe
taskkill /F /IM 1cv8c.exe
taskkill /F /IM 1cv8.exe
Остановка службы 1С:Предприятие с очисткой временных файлов.
set LOG_FILE=»scripts.log»
set SERVICE_1C_NAME=»1C:Enterprise 8.3 Server Agent (x86-64)»
set SERVICE_RAS_NAME=»1C:Enterprise 8.3 Remote Server»
set CNTX_PATH=»C:\srvinfo\reg_1541″
set PFL_PATH=»C:\ProgramData\1C\1cv8″
set TEMP_PATH=»C:\Windows\Temp»
echo stop %DATE% %TIME% >> %TEMP_PATH%\%LOG_FILE%
sc stop %SERVICE_1C_NAME%
sc stop %SERVICE_RAS_NAME%
timeout 5
taskkill /f /im «rphost.exe»
taskkill /f /im «rmngr.exe»
taskkill /f /im «ragent.exe»
taskkill /f /im «ras.exe»
timeout 5
echo done stop %DATE% %TIME% >> %TEMP_PATH%\%LOG_FILE%
echo clean temp %DATE% %TIME% >> %TEMP_PATH%\%LOG_FILE%
DEL /Q /F /S %CNTX_PATH%\snccntx*
DEL /Q /F %PFL_PATH%\*.pfl
DEL /Q /F /S %TEMP_PATH%\*.*
echo done clean temp %DATE% %TIME% >> %TEMP_PATH%\%LOG_FILE%
Запуск службы 1С:Предприятие.
set LOG_FILE=»scripts.log»
set SERVICE_1C_NAME=»1C:Enterprise 8.3 Server Agent (x86-64)»
set SERVICE_RAS_NAME=»1C:Enterprise 8.3 Remote Server»
echo start %DATE% %TIME% >> %TEMP_PATH%\%LOG_FILE%
sc start %SERVICE_1C_NAME%
sc start %SERVICE_ RAS _NAME%
echo done start %DATE% %TIME% >> %TEMP_PATH%\%LOG_FILE%
Рестарт с очисткой временных файлов.
set LOG_FILE=»scripts.log»
set SERVICE_1C_NAME=»1C:Enterprise 8.3 Server Agent (x86-64)»
set SERVICE_RAS_NAME=»1C:Enterprise 8.3 Remote Server»
set CNTX_PATH=»C:\srvinfo\reg_1541″
set PFL_PATH=»C:\ProgramData\1C\1cv8″
set TEMP_PATH=»C:\Windows\Temp»
echo stop %DATE% %TIME% >> %TEMP_PATH%\%LOG_FILE%
sc stop %SERVICE_1C_NAME%
sc stop %SERVICE_RAS_NAME%
timeout 5
taskkill /f /im «rphost.exe»
taskkill /f /im «rmngr.exe»
taskkill /f /im «ragent.exe»
taskkill /f /im «ras.exe»
timeout 5
echo done stop %DATE% %TIME% >> %TEMP_PATH%\%LOG_FILE%
echo clean temp %DATE% %TIME% >> %TEMP_PATH%\%LOG_FILE%
DEL /Q /F /S %CNTX_PATH%\snccntx*
DEL /Q /F %PFL_PATH%\*.pfl
DEL /Q /F /S %TEMP_PATH%\*.*
echo done clean temp %DATE% %TIME% >> %TEMP_PATH%\%LOG_FILE%
echo start %DATE% %TIME% >> %TEMP_PATH%\%LOG_FILE%
sc start %SERVICE_1C_NAME%
sc start %SERVICE_ RAS _NAME%
echo Service %SERVICE_1C_NAME% restarted at %DATE% %TIME% >> %TEMP_PATH%\%LOG_FILE%
Аварийное завершение процесса rphost, который потребляет больше N Гб памяти.
N сильно зависит от вашей системы, нагрузки, конфигурации и т.д. В этом примере N = 8 Гб.
echo off
REM MemLimit in bytes!
REM MemLimit is 8 GB
set MemLimit=8796093022208
echo MemLimit is set %MemLimit% bytes
for /f «usebackq tokens=2» %%a in (`tasklist /FO list /FI «IMAGENAME eq rphost.exe» ^| find /i «PID:»`) do (
for /f «usebackq tokens=1» %%c in (`»wmic process where ProcessId=%%a get WorkingSetSize»`) do (
SET «var=»&for /f «delims=0123456789» %%i in («%%c») do set var=%%i
if not defined var (
if /I %%c GTR %MemLimit% (
echo Killing process rphost_%%a with Mem Usage %%c for breaking limit %MemLimit%
taskkill /F /PID %%a
)
)
)
)
(0) >Интересно то, что после ручной остановки и запуска вчерашние сеансы так и остались висеть.
Спящие сеансы? Они автоматически удаляются, смотрите настройку базы. По-умолчанию 24 часа (86400 сек).
Спящие сеансы лицензий не потребляют.
В менеджере кластера однозначно отображается потребление лицензий сеансами, что позволяет достоверно установить «виновников» и причины.
Вместо универсального решения всех проблем «перезагрузите компьютер».
(0) После перезапуска подсасываются сеансовые данные, которые складируются на сервере приложений.
Если после серьезных инцидентов мне требовался «чистый рестарт», то я обычно делал так — рестартовал сервер, после этого удалял все восстановленные сеансы в менеджере кластера и после этого снова рестартовал.
(0) чисти папку с сеансовыми данными.
Пользуйся
Pause 60
Как перезапустить сервер 1с
Простая инструкция тому, у кого вызывает непонимание выражение «перезагрузить сервер 1С:Предприятия» или «перезапустить Агент сервера 1С». Выполнив операцию один-два раза по инструкции, в дальнейшем «перезагрузка агента сервера 1С предприятия» будет выполняться машинально.
В Windows «Панель управление» — «Администрирование» — «Службы»
В списке служб находим в колонке «Имя» «Агент сервера 1С:Предприятия 8.x». Состояние — «Работает». Правой кнопкой на строке названия службы вызываем контекстное меню и нажимаем кнопку меню «Остановить» или «Перезапустить»

Служба «Агент сервера 1С 8» будет остановлена или перезапущена в соответствии с Вашим выбором. Состояние будет теперь «Отключена».

Чтобы запустить, необходимо там же, правой кнопкой вызвав меню, выбрать пункт «Запустить»

Служба «Агент сервера 1С 8» будет запущена, если в процессе запуска не возникнут ошибки.
Перезапуск сервера 1С с помощью средств платформы
В данном случае будет перезапускаться не агент сервера, а рабочие процессы.
- Необходимо открыть консоль сервера 1С.
- Открыть свойства кластера серверов (Рис №1)
- В группе параметров «Перезапускать рабочие процессы» настроить параметры перезапуска (Рис №2).


Рассмотрим что означают эти параметры перезапуска сервера 1С:
Интервал перезапуска (сек) — интервал времени после запуска процесса, по истечении которого рабочий процесс перезапускается. Нулевое значение означает, что рабочие процессы не будут перезапускаться автоматически.
Допустимый объем памяти (Кб) — устанавливает предельный объем виртуального адресного пространства, после постоянного превышения которого в течение определенного времени (см. следующий параметр) рабочий процесс будет автоматически перезапущен. Нулевое значение означает, что критический объем памяти не задан и автоматический перезапуск рабочих процессов не выполняется.
Интервал превышения допустимого объема памяти (сек) — определяет интервал времени постоянного превышения предельного объема виртуального адресного пространства, занимаемого рабочим процессом (см. предыдущий параметр), после которого выполняется автоматический перезапуск рабочего процесса. Нулевое значение означает, что автоматически перезапуск рабочих процессов не выполняется.
Автоматический перезапуск рабочих процессов сервера 1С:Предприятие 8
Известный факт, что при длительном функционировании сервера 1С:Предприятия 8, с течением времени увеличивается размер занимаемой рабочим процессом (rphost.exe) оперативной памяти. Так же при выполнении не оптимального кода или допущении ошибки в запросе, в этот момент рабочий процесс может занять всю оперативную память, что неминуемо приведет к замедлению работы пользователей вплоть до полной потери контроля над сервером.
Чтобы избежать этих проблем необходимо задать настройки кластера 1С:Предприятия 8 и создать необходимое количество рабочих процессов. По моему опыту +1 рабочий процесс на каждые 25-35 пользователей. Рисунок настроек кластера 1С:

Интервал перезапуска — это время по прошествии которого, рабочий процесс автоматически будет перезапущен. Перед завершением работы старого рабочего процесса, запускается новый экземпляр rphost.exe на который передаются соединения со старого рабочего процесса.
Допустимый объем памяти — это размер памяти при превышении которого, запускается таймер отсчета в секундах.
Интервал превышения допустимого объема памяти — в том случае, когда таймер отсчета в секундах превысил значение заданого в этом параметре, запускается новый рабочий процесс на который передаются соединения от старого рабочего процесса. Старый рабочий процесс помечается как не активный.
Выключенные процессы останавливать через — этот параметр означает, когда пройдет 30 секунд, после того как рабочий процесс помечен не активен, он будет завершен операционной системой. Если значение будет равно «0» — процессы автоматически завершаться не будут.
Данная настройка работает безотказно почти год. Необходимость перезапуска службы 1С:Предприятия 8 исчезла, зависания сервера уже не наблюдалось больше полугода. Даже при выполнении некоректных запросов с огромными выборками, механизм отрабатывает на ура, отключая только пользователя от базы, который запустил этот отчет, остальные пользователи, которые работали на текущем рабочем процессе плавно (без отключения от базы) будут перенесены на новый рабочий процесс.
Copyright © 2007 — 2023 helpERP.ru | Все права защищены.
