The point is compression.
% swapon
NAME TYPE SIZE USED PRIO
/dev/nvme0n1p2 partition 8G 0B 5
/dev/sda2 partition 32G 0B -2
/dev/zram1 partition 3.5G 1.8G 32767
/dev/zram2 partition 3.5G 1.8G 32767
/dev/zram3 partition 3.5G 1.8G 32767
/dev/zram4 partition 3.5G 1.8G 32767
/dev/zram5 partition 3.5G 1.8G 32767
/dev/zram6 partition 3.5G 1.8G 32767
/dev/zram7 partition 3.5G 1.8G 32767
/dev/zram8 partition 3.5G 1.8G 32767
% zramctl
NAME ALGORITHM DISKSIZE DATA COMPR TOTAL STREAMS MOUNTPOINT
/dev/zram8 zstd 3.5G 293.4M 189.2M 192.5M [SWAP]
/dev/zram7 zstd 3.5G 282.1M 187.5M 192M [SWAP]
/dev/zram6 zstd 3.5G 284.6M 189.4M 192.9M [SWAP]
/dev/zram5 zstd 3.5G 297.8M 197.3M 200.1M [SWAP]
/dev/zram4 zstd 3.5G 304.9M 202.9M 206.7M [SWAP]
/dev/zram3 zstd 3.5G 300.7M 201.9M 204.6M [SWAP]
/dev/zram2 zstd 3.5G 311.3M 207.2M 210.6M [SWAP]
/dev/zram1 zstd 3.5G 307.9M 210.5M 213.3M [SWAP]
/dev/zram0 zstd <not used for swap>




zswapis not better than modernzramin any way. And you can set up the latter with writeback anyway.But that’s not OP’s problem since “swap gets hardly touched” in OP’s case.