【问题标题】:Looking for APIs to measure battery use of a process [closed]寻找 API 来测量进程的电池使用情况[关闭]
【发布时间】:2020-12-16 01:06:54
【问题描述】:

问题是否有适用于 Windows 和/或 Linux 的 API 可以让我找出哪些进程正在耗尽电池电量?

一些注意事项:

  • 不必很精确,如果我能做到的话,我只需要三个级别(低能源成本/公平能源成本/高能源成本)就可以了。
  • 我已经有了 CPU 负载信息,这不是我要寻找的信息,因为经验表明,CPU 使用率非常低的进程可能会因高 I/O、高交换或频繁唤醒而耗尽电池电量。这就是为什么我想搭载操作系统已经在使用的任何东西:操作系统开发人员比我更有可能实际测试过这个。
  • 我找到了 macOS 的部分解决方案。查看答案。
  • MSDN 似乎没有指明任何与能源相关的 API。
  • 我无法请求管理员/root 权限来运行我的任务管理器,因此我无法简单地解析系统日志以查找电源使用警报。

【问题讨论】:

  • 作为操作系统,它们负责调度进程,因此已经掌握了信息(至少是执行时间和总负载的比例)。他们不需要从某个地方获取信息。你需要问他们。请通过详细对比来澄清您的问题。
  • 内核有信息。 UI 需要从某个地方获取它。
  • 正如您的笔记所描述的,这是一个用于评估电源使用情况的复杂指标。这篇文章可能与superuser.com/a/524810/648722 相关。由于那里没有太多信息,我猜目前没有公共 api 可以满足您的要求。
  • @LouisGo,是的,因为它太复杂了,我更喜欢搭载操作系统已经在做的任何事情。
  • 显然,这个问题对于超级用户来说是题外话:superuser.com/questions/1580993/…

标签: c++ linux window battery energy


【解决方案1】:

我找到了一个很好的参考来了解 macOS 是如何做到的。

https://blog.mozilla.org/nnethercote/2015/08/26/what-does-the-os-x-activity-monitors-energy-impact-actually-measure/

这应该很容易理解。

【讨论】:

  • Linux 有powertop
  • 是的,我试过了,它非常非常强大。不幸的是,它需要以 root 身份运行,但我可能能够从中提取不需要 root 权限的内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多