Last active
May 14, 2025 19:33
-
-
Save wommy/47b2a8a7805e81b447472539451b992f to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/bash | |
## Watch This Space || full write-up, accompanying explainer doc coming soon | |
### zram kernel optimizations | |
## https://github.com/garyexplains/examples/blob/master/how_to_enable_ZRAM_Raspberry_Pi.md#kernel-parameters-to-make-better-use-of-zram | |
cat << 'EOF' | sudo tee /etc/sysctl.d/99-vm-zram-parameters.conf | |
vm.vfs_cache_pressure=500 | |
vm.swappiness=100 | |
vm.dirty_background_ratio=1 | |
vm.dirty_ratio=50 | |
vm.watermark_boost_factor = 0 | |
vm.watermark_scale_factor = 125 | |
vm.page-cluster = 0 | |
EOF | |
### zram-tools, or ez-mode | |
sudo apt install -y zram-tools | |
sudo sed -i -e 's/#PERCENT=50/PERCENT=175/' /etc/default/zramswap | |
## https://github.com/NixOS/nixpkgs/pull/351002#issuecomment-2563183156 | |
## NOTE __ ram usage percentage : 150 seems on the lower end | |
## TUDO :: revisit w/ hard data | |
#sudo sed -i -e 's/#ALGO=lz4/ALGO=zstd/' /etc/default/zramswap | |
## NOTE __ zstd > lz4 is workload dependant | |
## TUDO :: revisit w/ hard data | |
### | |
### COMING SOON -- systemd/zram-generator, or hard mode | |
### | |
# sudo apt install -y systemd-zram-generator | |
## LINKS | |
## https://wiki.archlinux.org/title/Zram#Using_zram-generator | |
## https://github.com/systemd/zram-generator/blob/main/zram-generator.conf.example | |
## -- lesser misc links, unsorted, to get to | |
## google zram recompress huge idle huge_idle | |
## https://github.com/systemd/zram-generator/issues/164 | |
## https://github.com/ValveSoftware/SteamOS/issues/899 | |
## https://www.reddit.com/r/Ubuntu/comments/1dduz30/how_to_increase_zram_compression/ | |
## TUDO :: write a few sed's to convert defaults into optimized | |
## -- sudo sed -i -e 's/before/after/' /etc/systemd/zram-generator.conf | |
## 1. zram-size = ram * 2 | |
## https://github.com/NixOS/nixpkgs/pull/351002#issuecomment-2563183156 | |
## 2. compression-algorithm = lz4 | |
## 2a compression-algorithm = lz4 zstd(level=9) | |
## https://docs.kernel.org/admin-guide/blockdev/zram.html#recompression | |
## note: recompression without optimized parameters ~= regressions | |
## OPTIONAL / AT A LATER DATE | |
## 3. replace swap with zram writeback | |
## https://docs.kernel.org/admin-guide/blockdev/zram.html#writeback | |
## : ditto above regression sentiment | |
## 4. swap-priority |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment