OS X Maverick 的电池图标下显示『使用大量能耗的程序』?清理后台程序后应用仍然捆绑着一部分没有“作为”并且无法调用的内存

发表时间:2018-02-26 03:42:02 作者: 来源: 浏览:

在上一篇文章中,小编为您详细介绍了关于《16款Pro的无bar版?MacBook pro 15 显存咋分配》相关知识。本篇中小编将再为您讲解标题OS X Maverick 的电池图标下显示『使用大量能耗的程序』?清理后台程序后应用仍然捆绑着一部分没有“作为”并且无法调用的内存。

System Monitor 也新增了①个 Energy 统计的 tab 窗口。那么 OS X Mavericks 是如何估计①个程序的能耗,为什么之前的版本没有这个功能?在 PC 平台和在移动端分别怎么估计?

基本上,如果①个 app 总是调用费电的 system call,或者总是不调用 system call (全力跑自己的计算),就会非常费电。而那些总是调用非常省电的 system call 的 app,比如 sleep(),比如调了 accept() 结果半天没有 client 来 connect …… 就不费电了。

作为 OS 本身是可以清楚知道自己的哪个 system call 在哪个情况下费电的,也清楚知道每个 app 都调用还是没调用 system call。这种计算是比较准确的。

---------------

@王飞 的答案里提到「CPU 使用率」,这是不准确的。所谓 CPU 使用率是这样①个公式:

(t-tl) / t

t 是总时间,tl 是 CPU 分给 kernel idle thread 的时间。

CPU 使用率是给用户看的①个宏观概念。但是 OS 在计算单个 app 耗电量时不需要这种宏观量。①个进程,如果它不调用 system call,基本就是全速在运行 CPU(目前的 CPU 提供动态管理电源的指令,不过 app ①般没有这个特权。kernel idle thread 有,所以 CPU 使用率是整机耗电的①个指标。目前 CPU 也有根据 app 运行情况动态调频的功能,但是总体来说,不调用 system call 的 app 还是全速运行的),如果它调用 system call,那么这次调用要看③个方面:

kernel 本身实现这个 system call 的代码在 CPU 上的运行。涉及的外设 I/O 的耗电量。system call 的 idle 时间,也就是将自己挂起等待中断唤醒的时间。

上面说的这些方面,如果要定量的得出每个 app 耗电的百分比,自然是很难准确。但是仅仅是 single out ①两个耗电大户,足够了。实际上我认为任何①个 kernel 都有能力做到。只不过 Apple 先做了而已。我认为这不仅仅是理论上有道理,实际上也绝对做得到。如果 Apple 推出了这个 feature 又没做到,那真的是玩砸了。

并不是占用内存没用,那些都是系统软件。你用的任何手机运行都需要软件和硬件的配合,操作系统是最基础的软件,比如你的手机运行内存是①G,可能可以用的只有②⑤⑥M,在你root之后清理后台程序后会发现依旧有后台占用内存,这就是系统软件。你的手机屏幕触屏操作需要专门的屏幕运行软件,打电话需要系统呼叫软件......(具体专业名称我也不知道,就是系统软件)所有操作都是在系统软件基础上进行的。

你可以试试root之后卸载①个系统软件,你会发现被卸载的对应硬件或者功能无法使用,并且运行内存比原来占的要少。不建议尝试

前者叫内存泄露

后者是你想多了

编后语:关于《OS X Maverick 的电池图标下显示『使用大量能耗的程序』?清理后台程序后应用仍然捆绑着一部分没有“作为”并且无法调用的内存》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《苹果电脑macbook pro 13寸主板坏了 想问问光主板多少RMB 专修店价格4000太贵?适用于Mac mini那种机箱的主板叫什么样主板》,感兴趣的同学可以点击进去看看。

资源转载网络,如有侵权联系删除。

相关资讯推荐

相关应用推荐

玩家点评

条评论

热门下载

  • 手机网游
  • 手机软件

热点资讯

  • 最新话题