我在 Google Cloud(带有 RDP 的 Windows Server 2016)中创建了一个“实例”。在此服务器上,我启动了一个控制台应用程序(用 C++ 编写),这是 Web 服务器最简单的示例。Web 服务器监听端口 2246,无论请求如何,都会发送 OK 响应。启动应用程序后,我退出 RDP,并在远程 Linux 服务器(online.net 数据中心)上开始每 2 秒向 Google 实例发送一次请求。如果 Google 实例在 2 秒内没有响应,我会收到一封电子邮件(此电子邮件由 Linux 服务器发送给我)。一旦与 Google 实例的连接恢复,我就会收到一封电子邮件,表明连接已建立。
该问题每天发生几次,有时连接中断 10 分钟,有时长达数小时。断开连接时,我无法通过 RDP 访问 Windows 服务器。恢复后(自动恢复),我在事件日志中看到 RDP 进程以错误结束
除了我之外,RDP 端口对所有人都关闭,即使您不通过 RDP 登录,该过程也会以错误结束,因此 Google 实例会停止响应任何端口。问题还在于,使用专用服务器,我可以在我的简单 C ++ 应用程序中指定它监听外部 IP 和端口,因此即使 RDP 出现问题(我们所有的 Windows 服务器 2012-2019 每天都会出现错误)服务器仍会继续响应。但在 Google 实例上,我可以将我的 Web 服务器指向仅监听内部 IP。
这种情况该怎么办? 是否有可能解决 RDP 进程不稳定的问题? 我希望 Windows 服务器稳定运行,并从专用服务器迁移到云服务器。
答案1
我为 2021 年遇到此类问题的任何人发布了这些说明。您的屏幕截图表明问题可能是由引起的dwm.exe
。
根据此主题在 Windows 10 上通过 RDP 连接时,DWM 间歇性崩溃,这通常是由 GPU 驱动程序引起的,包括集成的英特尔和专用的 nvidia。
有几件事可以做:
- 跑步
gpedit.msc
- 前往
Local Computer Policy
→Computer Configuration
→Administrative Templates
→Windows Components
→Remote Desktop Service
→Remote Desktop Service
→Remote Desktop Session Host
→Remote Session Environment
→ - 设置
Use WDDM graphics display driver for Remote Desktop Connections
Disabled
如果这不能解决您的问题,请尝试回滚您的 GPU 驱动程序。
如果没有可用的先前驱动程序,请尝试将其更新至最新版本。
另外,正如@Jim B,可能存在导致应用程序崩溃的外部原因。
无论如何,您也可以尝试使用此文档来解决 RDP 问题:RDP 故障排除