从理论上来说这可能无法回答,但任何想法都会受到赞赏:
我有一台拥有 2GB RAM 的 UNIX 服务器,可能略微过载并且大量交换磁盘。这是一台测试服务器,唯一的用户是我,因此繁忙不是问题。
我有一些额外的 RAM 可用(比如说 6GB)。假设 RAM 升级大大消除了分页到磁盘的需要,我的问题是:
升级是否会节省能源(从净减少磁盘使用量与增加 RAM 所消耗的能量来看)?
更新:澄清一下,这不是一个“节省 $$$”的问题,这只是一个好奇心问题。Joel 曾在播客中评论说,总有人问他们是否可以在有大量 RAM 且没有交换的情况下运行他们的系统,因为他们对内存管理的方式有一个简单的看法。这就是我,思考添加 RAM 会如何改变我的系统行为。
答案1
可能影响很小,但如果您使用的是 SSD 而不是旋转盘片,影响会更加明显。
对于旋转介质驱动器,您总是在消耗能量来保持其旋转——我假设您不会在服务器中让驱动器处于休眠状态。我记得这是旋转驱动器消耗的大部分电量。对于 SSD,写入时功耗更高(因为您要翻转位),而且由于您没有运行电机来保持盘片旋转,因此与写入旋转驱动器相比,功耗更明显。
这里最大的节能效果不是高清功耗,而是减少等待时间(分页会占用 CPU 周期,而这些时间本可以用来做实际工作:将数据放在 RAM 中而不是发出磁盘请求意味着您的 CPU 可以更快地完成您给出的任务并返回到空闲状态。
让您的 CPU 更快/更长时间地空闲更有可能对功耗产生可衡量的影响(甚至可能是散热)。
答案2
如果机器在日常使用期间有一段时间主动交换数据,那么 RAM 升级将节省能源。无论如何,磁盘都会旋转,但减少磁头移动和实际写入操作将减少驱动器使用的能量。它还将通过减少机械磨损来延长驱动器的使用寿命。
如果机器没有定期主动使用交换,那么不断刷新额外 RAM 所需的电量将大于用于磁头移动和读/写操作的能量。
我不确定如何计算盈亏平衡点(这将取决于相关的 RAM 和驱动器,以及机器负载模式的详细视图),尽管进行计算可能不值得 - 我预计差异可以忽略不计,除非机器不断地不断更换东西,即便如此,你在计算节省金额上所花的时间可能比实际节省的还要多。不过,升级 RAM 可能不是一个坏主意,因为它会减少驱动器的磨损,可能会缩短机器的响应时间,因此也许可以帮助你提高效率,而且 RAM 现在很便宜。
(我假设服务器是 24/7 全天候运行的 - 如果服务器处于开启状态(或从睡眠/休眠状态唤醒)然后关闭,则由于没有交换而减少的操作时间意味着您可以通过不运行机器来节省能源,并且如果差异是“一周内的 X 小时”而不是“Y 秒”,则这种节省可能足够大以衡量)
答案3
SSD 提供了一个有趣的案例。从最近的 Anandtech SSD/HD 综述中,您可以找到以下功耗图表:第 6 页。您可以清楚地看到,该综述中的旋转驱动器在空闲时消耗 1.2w 功率,在写入时消耗 3.25w 功率,而各种 SSD 在空闲时消耗的功率至少为 0.21w,写入时消耗的功率最多为 1.28w。当然,SSD 会产生更多热量,因为所有电力都被阻断,而不是进行旋转盘片的工作。
至于“RAM 消耗多少电量?”我还没能给出一个直接的答案,而且它会随着时间而变化。DDR2每 GB 将占用更多空间由于电压和功能尺寸的差异,DDR3 的功耗要高于 DDR3。一位互联网网友引用了“每条 RAM 10w”的说法,如果这是真的,则意味着添加 RAM 实际上会显著增加您的电力负荷,因为您需要添加两条 RAM 才能使系统发挥最佳性能。
事实上,HDD 空闲和 HDD 写入之间的差异非常小,因此不需要太多额外的功耗就能超过 HDD 功耗。我怀疑添加物理 RAM 条实际上会增加功耗。现在...替换你的现存的现在,RAM 容量更大,也可能采用更小的特征尺寸那可能会降低总体功耗。
答案4
有趣的问题和非常有趣的答案。
我正在升级 RAM 阵营以减少能耗。我之前没有测试过,但现在可能要测试了,哈哈。
我认为磁盘头运动必须比内存消耗更多的能量,因为内存没有移动部件。
然而,在真正的系统内测试中,有趣的比较是在 SSD 和 RAM 之间进行的。
如果您确实进行了“测试”并得到了一些结果,请算我一份。