В процессе администрирования серверов «1С:Предприятие» нередко возникают аварийные ситуации, когда системный диск переполняется, а свободное место стремительно тает. Нередко источником проблемы становится папка 1Cv8Log в каталоге srvinfo, содержащая файлы журнала регистрации. Попытка экстренно остановить процесс rmngr.exe через диспетчер задач может повлечь за собой серьезные сбои в работе пользователей. Разберем детально, за что отвечает данный процесс, к чему приведет его завершение и как правильно освободить дисковое пространство без риска нарушения целостности данных.
Процесс rmngr.exe представляет собой менеджер кластера серверов 1С. Он координирует взаимодействие между клиентскими приложениями и рабочими процессами (rphost), управляет блокировками данных, сеансами, фоновыми заданиями и транзакциями. Завершение этого процесса на работающем сервере влечет за собой следующие последствия:
ragent.exe) обнаружит падение дочернего процесса и запустит новый экземпляр rmngr.exe. Однако пользователям все равно придется заново проходить авторизацию и открывать свои рабочие места.Таким образом, аварийно завершать процесс rmngr.exe при наличии работающих пользователей крайне не рекомендуется, за исключением случаев полного зависания кластера во внерабочее время.
Если в настройках базы отключена запись событий в журнал регистрации, но папка с GUID базы вида 53b34bd3-8e41-430f-8ddb-1dccc2f59b11\1Cv8Log продолжает увеличиваться, проанализируем следующие причины:
srvinfo каждой информационной базе соответствует уникальный идентификатор GUID. Соответствие имен баз их идентификаторам хранится в конфигурационном файле 1CV8Reg.lst. Нередко отключение логирования производится в тестовой копии, тогда как рост файлов продолжается в рабочей базе.1Cv8.lgd). При удалении записей или программном отключении журналирования физический размер файла на диске не уменьшается автоматически. Свободные страницы помечаются как доступные для повторной записи, но операционная система видит прежний объем. Кроме того, во время активных транзакций могут временно расти файлы журнала упреждающей записи с расширениями -wal и -shm.Если свободного места на диске осталось критически мало и требуется быстро предотвратить падение сервера, рассмотрим безопасные варианты решения проблемы.
Это самый быстрый способ переместить «тяжелую» папку логов на другой диск, где есть свободное пространство, не меняя глобальные настройки кластера. Разберем по шагам:
services.msc.C:\Program Files\1cv8\srvinfo\reg_1541\53b34bd3-8e41-430f-8ddb-1dccc2f59b11\1Cv8Log1Cv8Log на другой диск (например, в каталог D:\1C_Logs\53b34bd3-8e41-430f-8ddb-1dccc2f59b11\1Cv8Log).mklink:
mklink /j "C:\Program Files\1cv8\srvinfo\reg_1541\53b34bd3-8e41-430f-8ddb-1dccc2f59b11\1Cv8Log" "D:\1C_Logs\53b34bd3-8e41-430f-8ddb-1dccc2f59b11\1Cv8Log"
После этого запустим службу агента сервера обратно. Платформа продолжит обращаться по старому пути, но физические файлы будут располагаться на свободном диске.
Чтобы размер базы журнала не достигал десятков гигабайт, настроим регулярную очистку устаревших событий. В платформе «1С:Предприятие» для этого предусмотрен метод встроенного языка СократитьЖурналРегистрации(). Создадим регламентное задание, выполняющееся во внерабочее время:
// Определим границу хранения: удаляем события старше 30 дней
ДатаОчистки = НачалоДня(ТекущаяДатаСеанса() - 30 * 86400);
// Инициализируем фильтр для очистки
ПараметрыОтбора = Новый Структура;
// Выполняем удаление старых записей
СократитьЖурналРегистрации(ДатаОчистки, ПараметрыОтбора);
Важно: При использовании формата SQLite (файл 1Cv8.lgd) после выполнения метода СократитьЖурналРегистрации() место на диске освободится только внутри структуры самого файла. Чтобы сжать файл физически, необходимо во внерабочее время выполнить команду вакуумирования базы SQLite (с помощью внешней утилиты sqlite3 командой VACUUM;) либо перевести журнал в классический текстовый формат, где удаление старых файлов .lgp сразу высвобождает дисковое пространство.
Если диск переполняется регулярно, наиболее правильным решением будет перенос всего каталога srvinfo на отдельный производительный накопитель. Разберем порядок действий:
srvinfo на новый диск, например в D:\1C_Server_Data\srvinfo.regedit и перейдем в ветку службы:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent...ImagePath и скорректируем значение ключа -d, указав новый путь к каталогу: -d "D:\1C_Server_Data\srvinfo".ragent.exe, rmngr.exe и rphost.exe.