Материал из цикла «Записки системного администратора» или «Случай из практики» в этот раз препарирует долгое завершение сеанса удаленного рабочего стола Windows Server 2008 R2
Продолжительное время пользователи жаловались на долгое завершение сеанса удаленного рабочего стола, при выходе из 1С. Сама программа завершалась моментально, но сеанс удаленного рабочего стола оставался открытым еще долгое время (от 2 до 10 минут), после чего завершался.
Поскольку проблема возникала не очень часто, от 1 раза в неделю до 1 раза в день, и в журналах ошибок не было, то мне долго не удавалось найти корень проблемы.
В результате экспериментов и поисков причины был найден виновник: модуль диспетчера печати SplWOW64, который отвечает за совместимость работы 32-х и 64-х битных приложений связанных с печатью. Если пользователи ничего не печатали — то процесс не загружался в память и сеанс RDP завершался моментально. Если же пользователь распечатывал что-либо перед выходом из сеанса — то SplWOW64, настроенный по умолчанию, не завершался вместе с сеансом. Соответственно сеанс дожидался пока SplWOW64 выгрузится из памяти (а это зависело от того как давно пользователь распечатывал документ) и только после этого завершался. Понятно, что по замыслу разработчиков, SplWOW64 не выгружался в целях более быстрой печати 2-й и последующей страницы, но нас интересует быстрый выход.
Вот пример REG-файла, решающего мою проблему (кстати, позже нашел в интернете, кучу похожих рецептов, так что я не претендую на авторство)
1 2 3 4 5 6 7 |
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print] “SplWOW64TimeOut”=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\SysProcs] “SPLWOW64.EXE”=dword:00000000 |