【发布时间】: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