首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OSX活动监视器与Avg负载

OSX活动监视器与Avg负载
EN

Stack Overflow用户
提问于 2019-09-15 19:13:45
回答 1查看 158关注 0票数 0

我知道Avg (在终端上使用"uptime“命令获得)提供了处于等待状态或就绪状态的进程数量的平均值。我可以看到我的mac的平均负载在2-3左右。但是,当我同时打开活动监视器时,它显示有数百个进程在运行。我想知道为什么会有这么大的差别。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-16 00:55:57

在Mac上,运行时检查的状态名为"runnable“,它包括当前运行在CPU上的进程和如果有可用的核心就在CPU上运行的进程。因此,负载平均值小于系统核心的数量,这意味着很少或根本没有核心争用。每一个想要一个核心的过程都有一个。大于核心数的负载平均值表明,有时可运行的进程必须等待调度。

大多数进程的绝大部分时间都在某种状态中,而不是运行状态。Mac上最常见的状态称为“休眠”,这意味着进程正在等待内核的东西。等待的一个非常常见的事情是用户输入。它也可能在等待磁盘、网络流量或计时器。但是在任何情况下,进程都会被阻塞,等待来自内核的东西,即使有一个可用的核心,它也不会被调度,因为它没有什么可做的。

这就是为什么数百个进程可以存活,但对CPU...sort没有影响。对于内核代表进程工作的时间来说,进程并不是“收费”的。因此,您将看到一个名为kernel_task的假过程,它可以占总数的很大一部分。这是内核正在做的事情,有时是为了响应用户进程的请求(比如磁盘I/O或发送网络数据包)。另一方面,kernel_task还表示内核“窃取”系统管理CPU温度的时间。因此,有时很难真正弄清楚kernel_task的使用意味着什么。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57947443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档