我的机器中有 24GB 的可用 RAM,但我通常使用的内存远少于 8GB。但是,有时我涉及到大型数据文件,我突然需要 40GB,并且在极少数情况下,我希望能够访问更多(最多 60GB)。这主要是使用 numpy 和 Apache Arrow。
现在我有一个 20GB 的 ssd 交换文件,它工作正常,但显然很慢。我想用 zRAM 替换它,假设我在 16GB 上得到双重压缩,即 32GB,加上剩余的 8GB = 40GB 的“ram”。不过,理想情况下,我偶尔会想要超过 40GB,并想知道不适合 zRAM 的内容是否有可能进一步溢出到“传统”SSD 交换文件或分区中。
这是可行的吗?显然,我希望 zRAM 优先于磁盘交换文件。
兹拉姆
zram
本质上是将压缩交换数据存储在内存中而不是磁盘上。它充当常规且单独的交换设备。因此,除了交换分区或交换文件之外,它还可以用作额外的交换空间,并被赋予一定的优先级。可以使用该
swapon
工具设置交换优先级,并且可以/etc/fstab
使用pri=
value选项定义。见man swapon
。还要考虑 zswap
您可以考虑另一种技术,而不是使用 zram
zswap
,. 在这里,内存也用于存储交换的数据。但是,通过这种机制,您的内存充当了用于交换的压缩内存缓存。需要缓存的数据首先存储在 中zswap
,并且仅在需要时才提交到磁盘,从而加快交换速度并减少磁盘 I/O。