我有一个双核处理器。我正在运行下面程序的两个实例
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。