В работе терминальных серверов с 1С часто возникают ситуации, когда после закрытия программы пользователем процесс 1cv8.exe не завершается корректно. Вместо этого он продолжает потреблять ресурсы процессора (в частности, 22-25%), что приводит к постепенной деградации производительности сервера. Давайте разберем по шагам, как выявить причину и устранить эту проблему.
Первым делом проанализируем, что именно происходило в сеансе пользователя непосредственно перед «зависанием». Для этого воспользуемся журналом регистрации 1С.
Конфигуратор или через Администрирование сервера.Если сессия пользователя «зависает», велика вероятность, что на уровне СУБД осталась «висеть» транзакция, которая не может завершиться корректно. Рассмотрим порядок действий:
Используйте SQL Server Management Studio для проверки состояния базы данных:
Activity Monitor (Монитор активности).Processes (Процессы). Посмотрите, есть ли сессии, связанные с 1С, которые имеют статус Running или Suspended, но при этом явно не активны в приложении.Для более глубокого погружения воспользуемся технологическим журналом 1С. Это позволит увидеть детальный «context» (контекст) выполнения программы.
Разберем, как это работает:
Настройте технологический журнал так, чтобы он логировал все длительные вызовы. Обратите внимание на свойство context в логах. Оно содержит информацию о том, какой именно код (какая процедура или функция) выполнялся в момент возникновения нагрузки. Это позволяет быстро локализовать участок кода, вызывающий зацикливание.
Поскольку проблема проявляется в рознице, где активно используется торговое оборудование, необходимо исключить влияние драйверов:
Event Viewer) на наличие ошибок, связанных с портами (COM-порты, USB-устройства).Если процесс остается в памяти после закрытия, это может указывать на то, что программа ожидает ответа от системной библиотеки. Мы рекомендуем использовать инструменты Sysinternals:
Process Explorer от имени администратора.1cv8.exe.gdi32.dll или user32.dll, это свидетельствует о проблемах с отрисовкой форм или обработкой графических событий.Process Monitor (Procmon) для отслеживания файловых операций. Возможно, процесс пытается бесконечно обращаться к поврежденному файлу кэша или временному файлу, что вызывает высокую нагрузку на процессор.Запомните: если проблема носит случайный характер, вероятнее всего, она вызвана сочетанием определенных действий пользователя (например, одновременное открытие формы Справочник.Номенклатура и Журнал.ЧекиККМ) и состоянием сервера 1С. Регулярная очистка кэша пользователей и обновление платформы 1С до более стабильного релиза (выше 8.3.18) также могут помочь минимизировать подобные ошибки.