![是否存在一个 RAM 利用率百分比,在该百分比下,诸如页面错误之类的性能下降现象会开始更频繁地发生?](https://linux22.com/image/1585215/%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8%E4%B8%80%E4%B8%AA%20RAM%20%E5%88%A9%E7%94%A8%E7%8E%87%E7%99%BE%E5%88%86%E6%AF%94%EF%BC%8C%E5%9C%A8%E8%AF%A5%E7%99%BE%E5%88%86%E6%AF%94%E4%B8%8B%EF%BC%8C%E8%AF%B8%E5%A6%82%E9%A1%B5%E9%9D%A2%E9%94%99%E8%AF%AF%E4%B9%8B%E7%B1%BB%E7%9A%84%E6%80%A7%E8%83%BD%E4%B8%8B%E9%99%8D%E7%8E%B0%E8%B1%A1%E4%BC%9A%E5%BC%80%E5%A7%8B%E6%9B%B4%E9%A2%91%E7%B9%81%E5%9C%B0%E5%8F%91%E7%94%9F%EF%BC%9F.png)
我记得几年前读过一本教科书,上面说,当使用率恒定>=X%时,可能会出现相当高的页面错误和其他与 RAM 相关的问题;它不一定从只是100%。
这是真的吗?如果是,衡量标准是什么?
答案1
不。
操作系统会刻意将 RAM 利用率保持在尽可能高的状态,因为您无法节省 RAM 以供日后使用。因此,高利用率与内存压力或任何类型的负载无关。现代操作系统会选择一个可用 RAM 目标(通常非常小),并且即使在中等负载下,通常也会将 RAM 利用率保持在非常接近该目标的状态。
例如,假设 50% 的 RAM 是空闲的,然后某个应用程序开始读取大量文件。如果其他进程想要读取这些数据,操作系统会尽可能多地将这些数据保存在内存中,以减少 I/O,或者将文件系统元数据保存在 RAM 中。(为什么不呢?这样做没有成本,而且可能会有好处。)因此,RAM 利用率可能会从 50% 飙升到 98%,但这并不表示存在任何内存压力或问题,而且更多的内存不会带来任何显著的好处。