是否可以在任何现代服务器上启用 (Windows) 睡眠模式?我需要更改特定的 BIOS 设置才能更改,还是大多数服务器不支持睡眠模式?
powercfg /a
报告“系统固件不支持此待机状态”
最近尝试了以下服务器:Dell 2900,Dell R530,Lenovo RD650。
目的是让服务器在不使用时(比如说整夜)进入睡眠模式,并在需要时重新启动。网卡接收数据包。
答案1
一般来说,服务器和服务器操作系统设计为连续运行,不支持像笔记本电脑或工作站那样的睡眠模式。
我们的戴尔服务器(我想所有其他服务器也都具有省电模式)允许空闲的服务器降低时钟和风扇速度,以降低功耗。但这与完全休眠不同。
通常,服务器会利用用户生成的负载不多的时间(通常是晚上)来运行后台作业,例如系统备份、批处理作业等,并且不会空闲到进入实际睡眠模式。
人们确实会关闭服务器,但他们遇到的问题是,启动服务器并不是立即发生的,而是需要几分钟。
目的是让服务器在不使用时(比如说整夜)进入睡眠模式,并在 NIC 接收到数据包时重新启动。
LAN 唤醒(WoL) 仍然存在,但是它需要特制的数据包,并且服务器的启动时间不够快,例如,无法在网站访问者离开之前开始处理网络请求。
在我工作过的一家公司,他们关闭了大部分虚拟桌面基础架构当用户回家时,服务器会继续运行。他们保留了足够多的服务器,这样当人们需要虚拟桌面时,他们可以立即登录,当达到某个负载阈值时,可以预先启动其他服务器。(我不太确定 WoL 是否用于此目的,或者智能平台管理接口/遠端控制核心请求就会被提出。
这样可以确保大多数时候都有足够的容量,当用户想要登录时,他们的 VDI 实例可以立即可用,但同时也有很多服务器在 50% 以上的时间内都处于关闭状态,而不是全天候运行。
答案2
大多数专用服务器硬件不支持 ACPI S1、S2 或 S3 状态,Windows 通常将这些状态统称为“睡眠”(通常具体指 S3)。这是因为这种使用方式对服务器来说毫无意义。它们要么 24/7 处于运行状态,要么是使用 ACPI S4(挂起到磁盘,在 Windows 中称为“休眠”)的近线设置完全地不需要时关闭电源。许多实际上也不在固件中“支持” ACPI S4,但这并不重要,因为如果驱动程序设计正确,它可以完全由操作系统处理(它们适用于大多数服务器,尽管不支持这种情况)。
使用 ACPI S4 的方法,以及沃伦(我几乎可以保证您的服务器系统支持的)应该可以完美满足您的使用情况。延迟可能比您想要的稍高,但仍应可用。
话虽如此,您真的关注过系统空闲时的功耗吗?在较新的服务器上,功耗可能不高,特别是如果它使用 SSD 而不是硬盘(或者在硬盘空闲时降低硬盘转速),而且功耗可能低到您不必在意。
答案3
考虑到气候/政治环境,我认为大多数商用通用服务器在相当长的一段时间内都具有节能功能,包括硬件和操作系统支持。这在云环境中可能更为明显/相关,因为云环境中的设备开机需要付费。现代生产环境往往对“自动扩展”资源有亲和力。
假设固件已启用/配置,你应该能够测试省电睡眠是否有效从命令行:
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
请注意,需要禁用休眠功能,这是应该的。可以使用以下命令禁用休眠功能:
powercfg -hibernate off
还请注意,如果这在某些情况下可行,Windows 可以保存当前会话,并在传统关机/完全启动后自动登录当前用户并重新启动打开的应用程序。
答案4
您不会在服务器操作系统中找到休眠功能。如果您可以接受每日服务器停机时间,请使用脚本关闭服务器,并使用 BIOS 中的开机计划。