2009-12-03 13:02:35 +0000 2009-12-03 13:02:35 +0000
22
22
Advertisement

CPU的使用量和内存的关系是什么?

Advertisement

我曾多次看到CPU使用率为100%,而内存只有50%在使用。这两者之间的关系是什么?一个的性能对另一个有什么影响?

Advertisement

答案 (6)

44
44
44
2009-12-03 13:14:59 +0000

CPU处理(执行对事物的指令,比如添加)内存中的东西。RAM只是内存金字塔的一部分(见下文)。所以当你处理_大量数据的时候,这些数据(或者可能是其中的大部分)很可能会被加载到RAM中,以便为CPU做好准备,这是为了加快速度,因为RAM比存储设备的访问速度更快。所以CPU的使用量和RAM经常会有关联,但不一定非要关联。

一个基本的例子可能是一个图像编辑程序。我加载了我的20MB的jpeg,程序读取了整个图像,操作系统为你把它保存在RAM中(所有_工作内存对程序来说都是一样的,操作系统决定它是进入磁盘上的页面/交换文件还是RAM)。所以图像在RAM中等待处理,但我在告诉程序应用一些愚蠢的过滤器之前去喝咖啡,所以CPU没有做任何事情:高RAM低CPU。

我回来后,应用滤镜给图像添加了一些气泡,然后CPU变成了100%,甚至更多的内存被使用了,因为它把预处理过的图像保存在内存中,所以我可以撤消刚才的改变。高内存,高CPU。

当程序完成添加气泡时,CPU会下降,但内存可能不会下降。

当然,并不是这么简单:-)

24
24
24
2009-12-03 13:38:15 +0000

这就像你的大脑与一本书的关系一样。大脑越快=你的阅读速度越快,书越大=它能容纳的页数越多。

10
Advertisement
10
10
2009-12-03 13:12:49 +0000

RAM是用来保存数据的。CPU时间用于处理数据。

CPU和内存使用量之间没有关系。一个进程可以占用系统的所有CPU,但只使用最少的内存。同时,一个进程可以分配系统的所有可用内存,但只使用最少的CPU时间。所以两者之间没有关系。

5
5
5
2009-12-03 13:14:39 +0000

两者之间没有一致的关系。CPU使用率取决于应用程序需要完成多少处理或工作。RAM是指应用运行时需要多少空间/内存来容纳应用。

更多的RAM=你可以并发运行更多的应用

更多的CPU=你可以运行更复杂的计算/操作

希望能帮到你。

2
Advertisement
2
2
2009-12-03 13:09:13 +0000

它们是不相关的。你有些任务大量使用的只是其中的一种资源,有些则大量使用两种资源。

1
1
1
2009-12-03 14:23:36 +0000

没有关系。从做一些繁重的数字运算的角度来考虑。RAM是指为了更快的检索,可以存储多少个数字,而CPU是指对这些数字进行数学运算的速度。

关于其中一个对另一个的影响,让我们假设你的CPU很慢,但RAM很多。这意味着你可以在内存中存储相当多的数字–在典型的32位机器上大约有5亿个。但对这些数字的处理/计算/等会比较慢。

另一方面,如果你有一个快速的CPU,但有少量的RAM,那么对这些数字的处理速度会很快,但机器需要不时地从磁盘上拖动这些数字(再把它们放回去以腾出更多的空间),这比从RAM中取出它们要慢很多倍。

所以,真的,每一个都会影响到另一个,为了获得最佳的性能,你需要两个都好。然而,这完全取决于每个应用程序实际在做什么_,还有其他因素(如磁盘速度、处理器缓存等),我们暂时不需要太过详细说明,但你应该知道这些因素会使事情变得复杂。

Advertisement
Advertisement