我今天才遇到这个问题,我希望这个答案还不算太晚,但简短的答案是肯定的(对于你的第一个问题“我发现 Safari 和 Firefox 在下载过程中使用了大量的 CPU(>200%
CPU 使用率)” ,任何人都可以解释为什么会发生这种情况吗?”)是的(对于您的评论问题“百分比是否高于100%
该过程是否意味着它正在使用多个核心?”)。
简而言之,您的 Mac 包含一个多核处理器 - 我猜2
您运行的是 OS X 10.8 - 它支持超线程,这意味着每个物理核心(本身就是一个物理 CPU)呈现多个OS X 中的“逻辑”核心将其视为独立的逻辑 CPU。一个进程最多可以使用每个逻辑核心的 100%,因此n
逻辑核心意味着每个进程的最大n x 100%
CPU 使用率。因此,您的活动监视器(如 Windows 中的任务管理器)会显示每个逻辑核心的 CPU 使用情况条(只要它们是<= 4
,根据 Apple 关于 CPU 使用情况的技术文档),并且您会获得类似157%
Firefox 等的读数。这是如果您同时运行多个下载、应用程序、游戏等,这并不罕见,并且可能是正常的。但请注意:不同的应用程序进程位于用户虚拟内存空间的不同部分,因此也可能会看到多个应用程序进程具有>100%
同时占用CPU,例如Firefox157%
和iTunes200%
等。
不可能看到一个>100%
在单核 CPU 系统中不可能看到某个进程的 CPU 使用情况,除非您使用的报告工具Firefox 可能会为每个下载生成一个线程(如果您有多个同时下载),此外还有许多其他线程用于选项卡、渲染等以及其他正在进行的事情,并且您对157%
进程的阅读显然意味着其中一些线程同时在至少两个不同的逻辑核心上运行。读数296%
将表明至少正在使用三个核心等。多核处理器/多线程操作系统系统上某个进程的 CPU 使用率是该进程内运行的所有线程的 CPU 使用率的总和。
注意:在实际层面上您可能需要咨询如果您的下载问题是 Firefox 特有的或者反复出现,您可能需要查阅此内容。
您可以使用以下命令找到有关计算机中物理/逻辑核心数量的信息sysctl
如果您在终端应用程序中执行以下命令,您可以使用命令(如果您感兴趣的话,可以在 BSD API 中)
$ sysctl -e hw | grep "cpu="
Run Code Online (Sandbox Code Playgroud)
你应该看到类似这样的东西(注意我插入的注释,而不是输出的一部分)
hw.ncpu=4 # no. of cores available to the kernel
hw.activecpu=4 # no. of logical cores actively being used by the kernel
hw.physicalcpu=2 # no. of physical cores
hw.logicalcpu=4 # no. of logical cores
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1097 次 |
最近记录: |