如何使用 tmpfs 和 SSD 实现智能缓存

如何使用 tmpfs 和 SSD 实现智能缓存

我想在Linux下创建快速逻辑磁盘来存储临时文件。我不怕丢失这些文件。

我的机器有 128GB 的​​ RAM 和 512GB 的 SSD 磁盘。因此,我想将 50% 的 RAM 用作 tmpfs,将 50% 的 SSD 磁盘用作此缓存,因为有时 50% 的 RAM 不足以用作缓存,而当 tmpfs 磁盘已满时,我想使用 50% 的 SSD 来写入文件。但是当 tmpfs 上的空间足够时,它必须仅使用 tmpfs。

我该如何实现缓存的这一策略?可能是某些 LVM 具有优先级?我该如何设置它?

答案1

  1. 首先你应该清楚你想要的是缓存还是快速存储,存储不能同时用作缓存和存储。

  2. 你没有提到如果当内存已满而 SSD 上有文件时从内存中删除文件会发生什么情况

    • 文件是否应该自动从 SSD 移出 (即使是部分的?)
    • 或留在当前位置
  3. 那么文件部分溢出到 SSD 的情况又如何呢?

    • 它应该全部放在 SSD 上
    • 或者部分放在 ramdisk 上

也许读一下http://blog-vpodzime.rhcloud.com/?p=45

我的建议是:使用 SSD 空间作为文件系统并留出内存空间 - 操作系统将自动将其用作文件缓存

另一种可能性是在 SSD 上使用 ZFS,然后将 ARC 大小设置为所需的内存缓存大小

相关内容