为什么 TOP 永远不会显示 cpu 使用率达到 100%?

为什么 TOP 永远不会显示 cpu 使用率达到 100%?

我有一个双核处理器。我正在运行下面程序的两个实例

void void main(){
    int i;
    while(1){
        i=i+1;
    }
}

我运行 TOP,CPU 使用率达到 97%,但从未达到 100%,为什么? CPU 应该总是忙于运行这两个程序,而没有 I/O 操作。

int溢出对内存有何影响?

TOP 是否实际显示了所有 CPU 使用情况,或者是否有仅为 SO 保留的 CPU 百分比(此处未显示)?是否有 SO 的流程没有显示在那里?

答案1

 why doesn't it? 

有一个调度的概念,进一步它还取决于核心数量。在我的系统上,这个程序不会导致超过 13% 的 cpu 使用率(除非你不编写多核操作程序)。你可以尝试一些基准测试工具,可以看到您的顶部报告高达 100% 的 CPU 使用率。

How would the int overflow affect the memory?

-2 31之后,你的 inti值将再次变为 0。

相关内容