在没有SWAP的情况下安装zRam是否有任何优势?

在这里运行Ubuntu 12.10,在128Gb SSD和4GB RAM系统上运行。 自从我安装了操作系统以来,我意识到我不需要交换分区,因为我从不使用hibernatefunction而且很少耗尽RAM。 但是,即使没有交换分区,安装zRam会在RAM满了时带来任何真正的改进吗?

我猜想你是否有交换空间或多或少与zRam的有用性无关。 无论您是否安装了zRam,如果没有交换空间而RAM耗尽,那么糟糕的事情就会开始发生。 🙂

如果你确实期望RAM耗尽,那么zRAM可能会有所帮助,因为它实质上扩展了你可以存储在RAM中的数据量(假设它不是不合理的高熵),因此填充需要更长的时间。 假设您没有存储大量随机数,那么它可能会给您带来更多时间。

如果你有99.9%的确定你不会接近用完RAM(即你的网络上网本只有16GB),那么存储在zRAM中的任何东西都不必要额外的CPU时间来压缩和解压缩,所以它不是在这种情况下真的很有用。

如果您处于RAM使用频谱的高端(例如,平均超过50-60%),您可能会因使用zRAM而更加安心。 (或者你可以买更多的RAM。)

我想你必须评估正常和负载很重的RAM利用率(平均值和最大值)以及你使用的数据类型。

是的,启用zRAM肯定是最好的事情。为什么zRAM会创建一个基于RAM的块设备,充当交换磁盘,但是压缩并存储在内存而不是交换磁盘中,允许非常快的I / O并增加可用内存量在系统开始交换到磁盘之前。

实际上compcache是​​原始名称,现在它改为zRAM。

你可以用sudo apt-get install zram-config安装它

只有在需要时才会使用zRAM,因此如果您不需要它,启用它将无效。 我非常怀疑你甚至会注意到它在需要时会起作用。

禁用交换是不正确的。 因为如果在没有交换的情况下内存不足,将调用OOM并且一些任务就会消失,您可以继续工作。 如果使用swap,很容易耗尽内存+掉掉交换,在这种情况下,您的机器将挂起磁盘IO。 最可能的原因是内存不足(内存泄漏,大量分配) – 它不会停在RAM大小上,它也会占用整个交换,无论如何你都会耗尽内存。

您可以使用简单的程序轻松尝试这一点,该程序在无限循环中分配内存,包括交换和不交换。