服务器功耗怎么计算?电源额定功率、实际功耗与机房成本分析

买服务器时,配置单上的电源写着"800W 或 1600W",很多人看一眼就过去了。但功耗这件事关系到三笔真金白银的账:电费、机房机位(或机柜)费用、以及散热成本。选错电源会宕机,估错功耗会超预算,算错电费会让长期成本失控。这篇文章把电源额定功率和实际功耗的区别讲清楚,给出一个可以自己动手估算整机功耗的方法,解释 PUE 这个概念,并用具体例子算一遍电费和托管成本。所有数字都是量级参考,实际以你的硬件和机房条件为准。

一、电源额定功率 ≠ 实际功耗

最常见的误解是把电源的额定功率当成服务器耗电。这两者完全不是一回事。

电源额定功率(比如 800W、1600W)是电源"最多能稳定输出"的功率上限,是电源的能力指标,不是它每时每刻在耗多少电。一台配了 1600W 电源的服务器,实际功耗可能只有 300W 到 500W,取决于里面装了什么、在跑什么负载。

那服务器到底耗多少电?取决于 CPU、GPU、内存、硬盘、主板、风扇等部件的实际工作状态。空闲时功耗低,满载时功耗高,中间随负载波动。所以正确的做法是估算"实际功耗范围",并给电源留出余量(后文讲怎么留)。

# 带外管理看实际功耗(需配置 IPMI/BMC,服务器厂商通常支持)
ipmitool sdr type 'Power Supply' 2>/dev/null
ipmitool sensor | grep -iE 'power|watt' 2>/dev/null
# 如果支持 DCMI
ipmitool dcmi power reading 2>/dev/null
# 查看整机功耗(部分服务器有功耗读数接口)
cat /sys/class/powercap/*/energy_uj 2>/dev/null
# 查看 CPU 功耗(需安装并加载 RAPL 相关模块)
cat /sys/class/powercap/intel-rapl:0/energy_uj 2>/dev/null

如果没有带外管理工具,最直接的办法是用功耗计(功率插座)实测整机插墙功耗,这是最准的方式。没有实测条件时,用下面的估算方法。

二、主要部件的功耗

估算整机功耗,就是把各部件功耗加起来。下面给出各部件功耗的常见量级(均为经验范围,具体以厂商规格为准)。

CPU 看 TDP。TDP(热设计功耗)是 CPU 的散热设计参考值,和实际功耗正相关但不等同。服务器 CPU 的 TDP 常见在几十瓦到几百瓦量级,高端型号可达两三百瓦甚至更高。双路服务器就是两颗之和。注意满载时实际功耗可能在 TDP 上下波动。

GPU 是耗电大户。数据中心加速卡的功耗差异很大,从几十瓦到几百瓦不等,部分高端卡的功耗可达数百瓦甚至更高。一张卡几百瓦,八卡整机就是数千瓦。做 GPU 服务器功耗估算时,GPU 通常是最大的一块。

内存看条数和类型。每条内存条功耗常见在几瓦到十几瓦量级,容量和代际不同略有差异。装几十条内存的话,总量也有几十到上百瓦。

硬盘看类型。机械硬盘常见每块 5 到 15 瓦量级(含启动峰值可能更高);SSD 通常每块几瓦。NVMe SSD 在高负载下功耗比 SATA SSD 高一些,但整体仍远低于机械盘。

主板、网卡、风扇等杂项。主板芯片组、网卡、RAID 卡加起来通常几十瓦;风扇的功耗随转速变化,高密度服务器风扇集群可能占几十到上百瓦。这部分按经验预留几十到一百多瓦。

# 查看硬件功耗相关参数(TDP 通常需查厂商规格,系统内不易直接读)
lscpu | grep -E 'Model name|MHz'
# 查看内存条数与容量
dmidecode -t memory | grep -E 'Size|Speed' | grep -v 'No Module' | head -20   # 需 root
# 查看磁盘数量与类型
lsblk -d -o NAME,ROTA,SIZE,MODEL
# 查看 GPU
nvidia-smi --query-gpu=name,power.draw,power.limit --format=csv 2>/dev/null

三、一个可用的估算方法

估算公式可以写成:

整机实际功耗 ≈ CPU功耗 + GPU功耗 + 内存功耗 + 硬盘功耗 + 主板网卡等 + 风扇功耗

然后分两个场景估:空闲功耗(各部件降频、负载低)和满载功耗(CPU/GPU 跑满)。实际运行功耗在两者之间。

经验上,一台没有 GPU 的双路通用服务器,空闲功耗可能在 100 到 200 瓦量级,满载可能在 300 到 600 瓦量级,具体看 CPU 型号和配置。一台装了多张训练卡的 GPU 服务器,空闲可能就有几百瓦(因为卡本身有静态功耗),满载可达数千瓦。

关键的下一步是留余量。电源的额定功率应该大于整机峰值功耗,通常留 20% 到 40% 的余量。原因有三:一是峰值功耗可能超过估算(比如 CPU 和 GPU 同时突发);二是电源在负载率 50% 到 70% 区间效率最高、最稳定;三是为未来升级(加硬盘、加卡)留空间。所以如果估算满载功耗是 800W,选 1000W 到 1200W 的电源比较稳妥;如果是高可靠场景,会配冗余电源(两个电源互为备份,各接一路市电)。

# 估算示例(数字为经验量级,请以实际规格替换)
# 双路通用服务器:
#   CPU 2 × 150W = 300W
#   内存 16 条 × 8W = 128W
#   硬盘 8 块 × 10W = 80W
#   主板/网卡/风扇 ≈ 100W
#   小计约 608W,留 30% 余量 => 电源选 800W 以上
# GPU 训练服务器:
#   GPU 8 × 350W = 2800W
#   CPU 2 × 200W = 400W
#   内存/硬盘/其他 ≈ 300W
#   小计约 3500W,留余量 => 电源合计 4000W 以上(多电源冗余)

再次强调,上面是量级示例。GPU 功耗请以厂商规格为准,不同卡差异巨大。

四、PUE:机房能效的关键指标

你算出来的服务器功耗是"IT 设备功耗",但机房实际消耗的总电量还要多——因为空调制冷、配电损耗、照明等都要用电。

PUE(Power Usage Effectiveness,电源使用效率)就是用来描述这个差别的:

PUE = 机房总耗电 / IT 设备耗电

PUE 为 1.0 意味着所有电都用在 IT 设备上(理论理想值,现实中做不到)。传统机房 PUE 可能在 1.5 到 2.0,即 IT 设备每用 1 度电,机房总共花 1.5 到 2 度。现代化的大型数据中心通过更好的制冷和配电设计,PUE 可以做到 1.1 到 1.3 甚至更低。

PUE 的意义在于:算电费时不能只算服务器功耗,要乘以 PUE。服务器 500W,PUE 1.5,那机房实际要按 750W 来算电。托管机房很多时候直接把这个成本折算进机位费或电费单价里。

# 机房侧看 PUE(如果你有数据中心管理权限)
# 一般通过动环监控系统(DCIM)查看,命令行示例因厂商而异
# ups 负载、空调功耗、IT 总功耗三者相比即为 PUE 的组成

五、电费怎么算

电费的基本公式:

年电费 = 总功耗(千瓦)× 使用时长(小时)× 电价(元/千瓦时)× PUE

举一个具体例子。假设一台服务器满载实际功耗 500W(0.5 kW),机房 PUE 1.5,电价按 0.8 元/度(元/千瓦时)计(这是示例值,各地差异大,工业电价、商业电价、不同地区都不同,请以实际电价为准)。

满载全年运行:0.5 kW × 24 h × 365 天 ≈ 4380 度。乘以 PUE 1.5 得 6570 度。乘以 0.8 元/度,约 5256 元/年。也就是说,一台 500W 的服务器,一年电费在几千元量级。

如果换成一台满载 3 kW 的 GPU 服务器:3 kW × 24 × 365 ≈ 26280 度,乘 PUE 1.5 约 39420 度,乘 0.8 元约 31536 元/年。电费一年三万多元,已经接近甚至超过部分配置的硬件成本。这就是为什么高功耗场景下,能效比(每瓦性能)如此重要。

如果服务器不是全天满载,要按实际负载比例折算。比如只白天跑、只用一半时间,电费相应减半。

场景 满载功耗 年耗电量(PUE 1.5) 年电费(0.8元/度,示例)
轻量通用服务器 300 W 约 3942 度 约 3154 元
中配通用服务器 500 W 约 6570 度 约 5256 元
高配双路服务器 800 W 约 10512 度 约 8410 元
GPU 单卡服务器 1.2 kW 约 15768 度 约 12614 元
GPU 多卡服务器 3 kW 约 39420 度 约 31536 元

表中电费为按示例电价计算的量级参考,实际电价和运行时长会显著影响结果。

六、机房托管成本构成

自建机房和托管机房的成本结构不同。托管机房(把服务器放进服务商的机柜里)的费用通常包含几部分。

机位/机柜费。按 U 位计费(比如每个 U 每月多少钱)或按整机柜计费。机柜的供电能力是有限的,所以高功耗服务器往往受限于"电",而不只是"空间"。

电力费。按实际用电量计费,或按合同约定的功率上限(比如"每个机位保证 2A 电流")包干。功率上限决定了一台服务器不能用太高功耗的配置——这是选型时必须确认的约束。

带宽费。按带宽(Mbps)或流量计费,和功耗无关,是另一块成本。

增值服务费。如带外管理、远程重启、系统重装、备份、DDoS 防护等,按需计费。

选择托管时,第一件要问清楚的是"每个机位/机柜能给多少电"。如果你的服务器峰值功耗是 1000W,而机位只保证 800W 的供电,那就用不了或者要升级机位。第二个要问的是电力计费方式:按实计费还是包干,包干的话超了怎么办。这两个问题比价格本身更重要,因为功耗约束会导致硬件无法上架。

# 托管前评估:估算自家服务器的峰值功耗与持续功耗
# 无带外时用功率计实测:空闲、50% 负载、满载三种状态各测一次
# 记录峰值(用于判断供电是否够)和典型值(用于估电费)
# 关注电源效率认证(如 80 PLUS 等级),高等级电源在常见负载区间更省电

七、省电的实用思路

功耗成本长期累积,几个方向能实打实省钱。

第一,选能效比好的硬件。同样性能,每瓦性能更高的 CPU/GPU,长期省的电力可能超过硬件差价。关注电源的效率认证等级。

第二,按实际需求配置,别过度采购。闲置的核和卡也在耗电(尤其 GPU 的静态功耗)。不需要那么多算力就别买。

第三,做好负载调度。把任务集中在部分机器上跑,让其他机器空闲甚至下电;GPU 服务器在没有任务时用低功耗模式。

第四,优化散热。机房温度、风道、灰尘都会影响散热效率,进而影响风扇功耗和是否降频。

第五,提高 PUE(如果是自建机房)。改善制冷和配电,降低整体能耗。

第六,考虑电价时段。有些地区有峰谷电价,把可延迟的批处理任务安排在低电价时段跑。

# 部分 GPU 支持设置功耗上限(降功耗、降性能,谨慎使用)
nvidia-smi -pl 250    # 把某卡的功耗上限设为 250W(示例,需支持且谨慎)
# 查看显卡当前功耗、温度、利用率
nvidia-smi --query-gpu=power.draw,power.limit,temperature.gpu,utilization.gpu \
  --format=csv -l 1

常见问题

Q:电源额定功率越大越费电吗?
不会。电源额定功率是能力上限,实际耗电由硬件负载决定。但要注意,电源在负载率过低或过高时效率较低,选太超过实际需求的电源会损失一点效率。按峰值功耗留 20% 到 40% 余量比较合适。

Q:TDP 就是 CPU 的实际功耗吗?
不完全等同,但正相关。TDP 是散热设计参考值,实际功耗随负载变化,可能低于或高于 TDP。做估算时可以把 TDP 当作量级参考。

Q:为什么机房按电流或功率上限收费?
因为机柜的供电线路、配电和制冷都有上限。你占的功率上限多,机房能提供的资源就多,所以按功率收费。这也意味着高功耗服务器可能因为供电约束无法上架。

Q:PUE 越低越好吗?
从能效角度是的,但也要看成本。把 PUE 从 1.5 降到 1.2 可能需要在制冷上投入大量成本,未必划算。判断标准是综合总成本。

Q:GPU 服务器电费怎么估?
先拿到每张卡的功耗规格,乘以卡数,加上 CPU、内存、存储、杂项功耗,得到峰值功耗,再按实际利用率和运行时长折算。GPU 通常是最大变量,务必以厂商规格为准。

Q:估算和实测差多少?
可能有明显差异,尤其是 GPU 负载和散热策略复杂时。有条件的用功率计实测,没有的用带外管理读功耗。估算结果建议留足余量,别卡着上限配电源。

总结

电源额定功率是能力上限,不是实际耗电。实际功耗由 CPU、GPU、内存、硬盘、主板、风扇等部件的负载决定,估算方法是把各部件功耗相加。

估算时先分别估空闲和满载两个场景,再给电源留 20% 到 40% 余量,让电源工作在效率较高的负载区间,并为未来升级留空间。重要场景用冗余电源。

机房总耗电比 IT 设备耗电高,用 PUE 描述这个倍数。传统机房 PUE 可能 1.5 到 2.0,现代数据中心可低至 1.1 到 1.3。算电费时服务器功耗要乘以 PUE。

电费公式是功耗 × 时长 × 电价 × PUE。一台 500W 服务器一年电费在几千元量级,一台 3 kW 的 GPU 服务器一年可能上万元甚至更多。托管成本里,要特别关注机位的供电上限和电力计费方式,这往往比价格更关键。

高功耗场景下,能效比、负载调度、散热优化是省电的主要抓手。本文涉及的电价、PUE、功耗数字均为量级示例,实际请以你的硬件规格、当地电价和机房条件为准。