我多次看到 CPU 使用率为 100%,而 RAM 的使用率只有 50%。这两者之间有什么关系?一个的性能如何影响另一个?
答案1
CPU 处理(执行指令,例如添加)内存中的内容。RAM 只是内存金字塔的一部分(见下文)。因此,当你处理很多数据,这些数据(或者可能是其中的大部分)可能会被加载到 RAM 中,以便为 CPU 做好准备,这是为了加快速度,因为 RAM 比存储设备访问速度更快。因此,CPU 使用率和 RAM 通常会相关,但不一定如此。
一个基本的例子可能是图像编辑程序。我加载了 20MB 的 jpeg,程序读取了整个图像,操作系统将其保存在 RAM 中(所有在职的内存对程序来说看起来是一样的,操作系统决定它是否转到磁盘或 RAM 上的页面/交换文件。因此,图像在 RAM 中等待处理,但在告诉程序应用一些愚蠢的过滤器之前,我去喝了杯咖啡,所以 CPU 没有做任何事情:高 RAM 低 CPU。
我回来后,应用滤镜为图片添加一些气泡,然后 CPU 占用率上升到 100%,甚至占用了更多内存,因为它将预处理后的图片保存在内存中,这样我就可以撤消刚刚所做的更改。内存高,CPU 高。
当程序完成添加气泡时,CPU 会下降,但内存可能不会下降。
当然,事情并没有这么简单:-)
答案2
这与大脑与书本的关系相同。大脑越快 = 阅读速度越快,书本越大 = 可容纳的页数越多。
答案3
RAM 用于保存数据。CPU 时间用于处理数据。
CPU 和内存使用率之间没有关系。一个进程可以占用系统的所有 CPU,但只使用最少量的内存。此外,一个进程可以分配系统上所有可用的内存,但只使用最少的 CPU 时间。因此两者之间没有关系。
答案4
它们没有关系。有些任务只大量使用其中一种资源,而有些任务则大量使用两种资源。