Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows任务管理器性能图是否有误导性?(用于CPU限制的操作)_Windows_Taskmanager - Fatal编程技术网

Windows任务管理器性能图是否有误导性?(用于CPU限制的操作)

Windows任务管理器性能图是否有误导性?(用于CPU限制的操作),windows,taskmanager,Windows,Taskmanager,我正在看一个Windows任务管理器性能图(如下)。它的最大值似乎是50%(我有两个内核)。我试图确定底层CPU操作是否受CPU限制 我的问题是:我能相信底层操作分布在两个CPU上的图吗?或者,我应该只看一个百分比,它告诉我当前运行的进程在我的两个内核中已达到最大值的50%? 当您看到双核CPU占50%时,这强烈表明(给定进程的)只有一个线程正在使用操作系统可以提供给它的最大CPU资源量。为什么是50%而不是100%?因为当这个线程运行时,总是有一个CPU核心几乎没有什么事可做。在四核上进行同样

我正在看一个Windows任务管理器性能图(如下)。它的最大值似乎是50%(我有两个内核)。我试图确定底层CPU操作是否受CPU限制

我的问题是:我能相信底层操作分布在两个CPU上的图吗?或者,我应该只看一个百分比,它告诉我当前运行的进程在我的两个内核中已达到最大值的50%?


当您看到双核CPU占50%时,这强烈表明(给定进程的)只有一个线程正在使用操作系统可以提供给它的最大CPU资源量。为什么是50%而不是100%?因为当这个线程运行时,总是有一个CPU核心几乎没有什么事可做。在四核上进行同样的测试将显示CPU计数固定在25%。单核机器将显示CPU接近100%

在您的情况下,如果您运行同一程序的两个或多个实例,CPU量表将显示为100%

操作系统可以在每个抢占式任务切换的不同内核上运行此线程。每个单独的图形都不规则地绘制,这一事实表明了这一点。如果右键单击“进程”选项卡(Win8上的“详细信息”选项卡)中的进程,实际上可以更改进程关联,以强制该进程在特定的CPU核心上运行。执行此操作时,一个图形将固定在100%,而另一个图形将处于空闲状态(接近0%)。这仍然是处理器总使用率的50%


有意义吗?

对于121个进程(甚至不知道它们的任何细节),它们很可能在2个内核上消耗50%。看起来其中一个内核比另一个更繁忙,所以50%只是这两个内核的平均值。Task manager显示了有关CPU-s的相当可靠的信息,但您可以运行性能监视器以获取更多详细信息。如果双核处理器上的CPU始终以50%的速度最大化,则很可能它实际上只使用了其中一个核,而没有执行允许其使用100%的真正多线程。