在 Linux 中创建 RAM 磁盘真的有助于提高性能吗?

在 Linux 中创建 RAM 磁盘真的有助于提高性能吗?

在 Linux 中创建 RAM 磁盘是否真的有助于提高特定任务或整个 PC 的性能,或者 Linux PC 中没有使用可用的 RAM,因为正在运行的程序已经加载到 RAM 中,所以创建 RAM 磁盘没有任何优势。

或者有其他方法来使用可用的 RAM。

答案1

(我是一位经验丰富的 Linux 系统管理员,但我承认在 Linux 下很少使用 RAM 磁盘)。

在一般情况下,RAM 磁盘会使情况变得更糟。(毫无疑问,在极端情况下这是不正确的)。这是因为 Linux 使用 RAM 的方式 - 如果有空闲 RAM,它将使用 RAM 作为缓存。(如果您执行free,它会显示已用 RAM、空闲 RAM 和缓存/缓冲区 - 您可以将缓存和缓冲区添加回来以获取实际的空闲 RAM,因为它会根据请求释放它)

简单一点——

Linux 会占用多余的 RAM 并将其用作缓存。虽然这对写入没有帮助(因为写入可能会丢失),但它对读取却有很大影响,如果有空闲内存,或者 Linux 认为不太可能读取的内容,读取几乎总是会被缓存)

一般情况下,Linux 也或多或少需要一些交换空间。它将其用作内存管理的信号,即使只有少量交换空间也能解决许多内存不足问题。问题是(出于我仍然不明白的原因),Linux 对交换空间的依赖程度超过了我认为它应该依赖的程度 - 这会降低速度。如果你使用 RAM 磁盘进行交换来解决此问题,那么你做错了将 VM.swappiness 设置更改为非常低的数字(默认值为 60 - 10 或更低较好)将严重偏向内存管理算法,以使用交换作为最后的手段,并将大大提高交互性。

程序当然是从 RAM 运行的,即使退出并重新运行也可能从 RAM 启动,因为编程已被缓存。

相关内容