zswap

运行 zswap 压缩时准确监控 RAM 和交换使用情况
zswap

运行 zswap 压缩时准确监控 RAM 和交换使用情况

我在 6.2.0-39-generic(Ubuntu 22.04,HWE)上运行 zswap。 我的理解是,zswap 拦截标记为交换的页面,压缩它们(如果可能)并将它们存储在物理 RAM 的压缩部分中,直到某个特定于用户的点。就我而言,zswap 设置为最多使用 25% 的 RAM。 但是,如果我对我的系统(具有 256GB RAM 和 256GB /swapfile)施加压力: stress --vm-bytes 250G --vm-keep -m 1 当通过活动监视器或 free -h 等查看时,首先我的 RAM 被填满,然后我的“交换”开始被填满 ...

Admin

在没有任何磁盘交换的情况下对 zram 启用 zswap 的效果
zswap

在没有任何磁盘交换的情况下对 zram 启用 zswap 的效果

我设置了一个具有 4 GB RAM 和 1.5 GiB zram 的系统。它还启用了 zswap。我的辅助存储上没有任何交换分区。 正如我所注意到的,我的系统上的性能很好。 zswap 是否用在 zram 上?在 zram 上使用 zswap 会导致任何性能问题吗? ...

Admin

哪个进程(内核线程)正在对 zswap 进行实际压缩?
zswap

哪个进程(内核线程)正在对 zswap 进行实际压缩?

我实际上可以想象两个位置: 在属于正在换入/换出内存的进程的内核空间中 从[kswapd0] 然而,深入研究 kswapd 源代码(mm/vmscan.c,init/main.c),我可以发现:kswapd 是单线程的,并且是在单个线程上启动的。 (除了 NUMA 系统外,所有内存区域都有不同的 kswapd。但大多数普通 PC 都不是 NUMA 系统。) 然而,从现在开始我们有一个问题。我们可以假设,磁盘比内存慢得多,这就是为什么我们不需要多线程 kswapd 来处理磁盘 I/O。但如果我们还需要利用内部 zswap 层,情况就不是这样了。特别是...

Admin

获取当前 zswap 内存使用情况和统计​​信息
zswap

获取当前 zswap 内存使用情况和统计​​信息

这zswap 文档说: Zswap seeks to be simple in its policies. Sysfs attributes allow for one user controlled policy: * max_pool_percent - The maximum percentage of memory that the compressed pool can occupy. 这指定了最大限度压缩池可以占用的内存百分比。 我如何得知: 这当前的压缩池占用的内存百分比 该池有多少空间正在使用中 压缩率、命中率和其他...

Admin

什么时候使用zswap?
zswap

什么时候使用zswap?

我想减少 SSD 的磨损。 我试图了解 zswap 的机制: zswap是只有在未压缩的swap满之后才使用吗? 若否,分配政策为何? ...

Admin

为了回答你的问题,我首先进行了一系列实验。最终答案以粗体显示在最后。
zswap

为了回答你的问题,我首先进行了一系列实验。最终答案以粗体显示在最后。

使用 zram 的主要缺点是LRU反转: 较旧的页面进入优先级较高的 zram 并快速填充它,而较新的页面则从较慢的交换区换入和换出 [...] 这zswap 文档说 zswap 不会受到这个问题的影响: Zswap 通过 Frontswap API 接收页面进行压缩,并且能够以 LRU 为基础从自己的压缩池中逐出页面,并在压缩池已满的情况下将它们写回后备交换设备。 max_pool_percent通过设置为 ,我可以享受 zram 和完全压缩 RAM 的所有好处吗100? Zswap seeks to be simple in ...

Admin

压缩写入磁盘的交换页
zswap

压缩写入磁盘的交换页

这个答案说 zswap 在将页面写入非 RAM 交换区之前对其进行解压缩。 有什么方法可以压缩写入磁盘的页面,最好使用lz4? 我希望: 减少SSD写入磨损 减少交换磁盘分配 加速交换 IO(希望写入磁盘或从磁盘读取的块更少) ...

Admin

CentOS 7 可以使用Zswap吗?如何监控Zswap?这是一个好主意吗?
zswap

CentOS 7 可以使用Zswap吗?如何监控Zswap?这是一个好主意吗?

CentOS 7 支持 Zswap 吗?如果是这样,我该如何启用它以及如何测试它是否有效?这对于 CentOS 服务器来说是个好主意吗? 启用尝试: chmod 777 /sys/module/zswap/parameters/enabled;echo 1 > /sys/module/zswap/parameters/enabled; echo 40 > /sys/module/zswap/parameters/max_pool_percent 我尝试查看 zswap 是否已启用并正常工作的测试: grep -R . /sys/kern...

Admin