CPU处理(执行对事物的指令,比如添加)内存中的东西。RAM只是内存金字塔的一部分(见下文)。所以当你处理_大量数据的时候,这些数据(或者可能是其中的大部分)很可能会被加载到RAM中,以便为CPU做好准备,这是为了加快速度,因为RAM比存储设备的访问速度更快。所以CPU的使用量和RAM经常会有关联,但不一定非要关联。
一个基本的例子可能是一个图像编辑程序。我加载了我的20MB的jpeg,程序读取了整个图像,操作系统为你把它保存在RAM中(所有_工作内存对程序来说都是一样的,操作系统决定它是进入磁盘上的页面/交换文件还是RAM)。所以图像在RAM中等待处理,但我在告诉程序应用一些愚蠢的过滤器之前去喝咖啡,所以CPU没有做任何事情:高RAM低CPU。
我回来后,应用滤镜给图像添加了一些气泡,然后CPU变成了100%,甚至更多的内存被使用了,因为它把预处理过的图像保存在内存中,所以我可以撤消刚才的改变。高内存,高CPU。
当程序完成添加气泡时,CPU会下降,但内存可能不会下降。
当然,并不是这么简单:-)
没有关系。从做一些繁重的数字运算的角度来考虑。RAM是指为了更快的检索,可以存储多少个数字,而CPU是指对这些数字进行数学运算的速度。
关于其中一个对另一个的影响,让我们假设你的CPU很慢,但RAM很多。这意味着你可以在内存中存储相当多的数字–在典型的32位机器上大约有5亿个。但对这些数字的处理/计算/等会比较慢。
另一方面,如果你有一个快速的CPU,但有少量的RAM,那么对这些数字的处理速度会很快,但机器需要不时地从磁盘上拖动这些数字(再把它们放回去以腾出更多的空间),这比从RAM中取出它们要慢很多倍。
所以,真的,每一个都会影响到另一个,为了获得最佳的性能,你需要两个都好。然而,这完全取决于每个应用程序实际在做什么_,还有其他因素(如磁盘速度、处理器缓存等),我们暂时不需要太过详细说明,但你应该知道这些因素会使事情变得复杂。