ollama 本地跑 电费 成本

成本与用量

帮想用 ollama 本地跑模型的用户算清电费折算成本,并与云调用做对照,给出可落地的估算与记录方法。

很多人听别人说本地跑模型不要钱,插上机器就开始 ollama,月底交电费才发现账单变了。问题不是本地不省钱,而是你只把钱算在了显卡上,漏掉了持续通电这一项。这篇给一套估算顺序:先量功率,再折电价,然后跟你平时云调用的用量对一遍,最后决定哪些活留在本地、哪些丢回云端。全程只需要电表、插座功率计和一份用量记录。

很多人听说本地跑模型不要钱,装上 ollama 就开始跑,月底看电费才发现账单变了。问题不在本地不省钱,而在于只算了显卡,漏掉了持续通电这一项。本地跑模型的成本是「硬件摊销 + 电费 + 你的时间」,电费只是其中一项,但它是最容易被忽略、也最容易测出来的那一项。

这篇给一套可落地的估算顺序:先用插座功率计量整机功率,再按自己账单上的真实电价折算,然后拿本地电费和平时云调用的花费放在同一口径上对一遍,最后决定哪些活留本地、哪些丢回云端。全程只需要功率计、电费账单和一份简单的用量记录,不依赖任何厂商提供的估算。

先别算钱,先把功率量出来

别拿显卡标称功耗当整机功耗。CPU、主板、内存、风扇,加上电源自身的转换损耗,实际插在插座上的功率往往比显卡铭牌高出一截。用带计量的插座功率计读数,才是你真正要付钱的那部分。没有功率计的话,先用系统内的功耗读数做参考,但要清楚它测不到电源转换损耗。

  • 空闲待机:开机挂着不跑任务时的读数,这部分是纯隐形成本,本地长期开机的最大变量
  • 加载模型:把模型拉进显存/内存那一刻的瞬时峰值,通常只持续几秒到几十秒
  • 持续推理:连续发请求时的稳定读数,这个数才是折算每千 token 成本的基础
  • 断电重测:换一个时间段、换一个任务再测一遍,确认读数稳定,避免单次误差当成结论

通电时长要单独记

功率测出来之后,下一步是时长。不要直接按 24 小时估,先老老实实记一周:每天开机几小时、其中真正跑任务几小时。这两个数字差别很大,决定了你是「用得多」还是「只是开着」。记满一周再乘以功率,比一次性拍脑袋准得多。

把度数换成钱:电费折算的三步

折算本身不复杂,但有两个坑。第一,用你账单上的真实单价,不要用网上看来的均价,家庭阶梯电价和商用峰谷电价结果差很多。第二,阶梯电价用户跨档之后单价会跳,跑得越久边际成本越高,长时间批量任务必须把跨档部分单独算,否则会低估。

  1. 算度数功率(千瓦)× 通电时长(小时)= 度数,把待机、推理两段分开算,别混在一起
  2. 折电价度数 × 你账单上的实际单价,阶梯电价要判断本次用量是否跨档,跨档部分用新单价重算
  3. 换成可比口径把结果除以此期间完成的输出量,得到「每千 token 折算成本」,才方便和云价格横向比;具体换算到站内工具做,别手算
用电状态怎么测折算时怎么处理
空闲待机功率计直接读全额计入成本,不能省略
加载模型观察峰值持续时长折算成极短时段,影响很小
持续推理连续发请求稳定后读数除以同期输出量,得到单位成本
跨档增量对比本次与上次账单档位超出部分用高单价重算

这里不写任何具体电价和折算结果,因为各地电价、时段政策、家庭档位都不同。你需要的数字在你自己账单上,或者在站内成本相关页面按你当地参数代入核对,写死在文章里的数字对你没有意义。

本地电费和云调用摆在一起怎么比

对比要放在同一口径上:同一个任务、同样的输出量、同样的时间窗。否则本地要么显得便宜到不真实,要么贵得离谱。最稳的做法是挑一周,本地跑一批任务并记下电费和输出量,同时查一下这批任务如果走云调用大概什么价位,两边都取同一周的数据再比。

  • 本地只省下了调用费,没省下硬件折旧、占用的时间和维护精力,小规模使用里这几项可能比电费更贵
  • 云调用的价格会随厂商和档位变动,比对时到站内价格追踪页看当时的数字,别用记忆里的旧价
  • 什么情况下本地不划算:调用量很低、任务很零散、模型需要频繁更换、或者你根本不需要数据不出本机
  • 什么情况下本地明显合适:每天稳定跑批、模型固定、数据敏感、机器本来就是常开的
本地和云端不是二选一,是分工问题:让贵的活去贵的地方,让闲着的机器去跑不赶时间的活。

本地也要留用量记录,否则没法对账

ollama 不会给你账单,你得自己记。最省事的做法是按周记三列:通电时长、估算度数、完成的输出量。就这三列,足够月底和云账单放在一起看,判断该不该把某些任务迁走。字段怎么设计、日志放哪,可以参考站内用量日志那篇的思路,别自己发明一套记两天就放弃的格式。

记录项记录频率用途
通电时长每天区分待机与推理,避免按 24 小时瞎估
估算度数每周乘以当地电价得到本周折算电费
完成输出量每周换算出单位成本,和云价格同口径对比
异常备注按需换模型、跑长任务时标注,避免污染对比

当某一周的电费折算已经接近同期云调用的花费时,就是一个明确的重新评估信号。具体临界点是多少,取决于你当地电价和云侧当时的报价,到站内成本计算器把参数代进去看,别拿别人说的比例当标准。

一张留在本地还是切云端的判断清单

不用追求一个通吃的答案。绝大多数人最后都是混合跑:一部分任务固定留本地,一部分随时切云端。下面这张清单按任务特征来分,对着你的实际任务勾一遍就行。

  • 优先留本地:高频重复、数据敏感、模型固定、机器反正要开着、不赶时间
  • 优先切云:低频突发、需要更大参数模型、要快速换模型试效果、偶尔才用一次
  • 混合做法最省心:批量离线任务放本地夜间跑,交互式、赶时间的活走云端
  • 拿不准的任务:先用本地跑一周并记电费,再和云侧同期花费对一遍,用数据决定
  • 每次换模型或换任务类型,重新对一次,别沿用上个月的结论
下一步:把参数代进去算一次站内成本相关页面可以按你当地电价和使用习惯估算折算结果,比看别人经验值靠谱;顺带在站内对比一下同类云调用的当时报价,你就知道自己该留多少活在本机了。

常见问题

本地跑模型真的比云 API 便宜吗?

看用量密度。持续高负载、机器本来就常开的情况下,本地只多花电费,通常比按量调用划算;但如果一天只跑几次、任务零散,电费之外还要摊硬件折旧和占用的时间,反而不如按量付费。先把你的通电时长和任务量记一周,再拿站内成本计算器代入当地电价比一遍。

怎么知道我的机器跑 ollama 一小时耗多少电?

最准的是买一个插座功率计,串在主机电源前面读整机功率,分别记空闲、加载、持续推理三种状态。没有功率计就用显卡功耗加一个余量粗估,但要注意电源转换损耗和整机其他部件,粗估只能用来判断量级,别拿来算精细预算。

本地跑和云调用应该按什么口径放在一起比?

固定同一个任务、同样的输出规模、同样的统计周期。本地这边把电费折算成每千 token,云端那边用你真实的用量记录反推花费,两边都换算到统一单位再比。注意本地还要把机器折旧和占用时间考虑进去,只比电费会得出偏乐观的结论。具体单价到站内官方 API 价格页面核对当时的数字。

本文依据各平台公开文档与官方公告整理,只做中文归纳;具体做法、参数与限制以官方文档为准。