zRAM

Varning! Det som diskuteras här är inte alltid enkelt och det kan hända att vissa installationer/modifieringar kan göra ditt system oanvändbart. Inget för nybörjare. Gör alltid backup av känslig data innan du experimenterar.
Kategoriregler
Varning! Det som diskuteras här är inte alltid enkelt och det kan hända att vissa installationer/modifieringar kan göra ditt system oanvändbart. Inget för nybörjare. Gör alltid backup av känslig data innan du experimenterar.
Användarvisningsbild
anth
Inlägg: 514
Blev medlem: 22 aug 2019, 15:35
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster

zRAM

Inlägg av anth »

Först: för tillfället kör jag Debian 12, men av vad jag vet ska zRAM fungera på samma sätt i Debian och Ubuntu.

Jag försöker lära mig zRAM, men ju mer jag läser, ju mindre förstår jag.
Rätta mig där jag har fel och ni får gärna länka till en uppdaterad sida med instruktioner hur man använder zRAM.

zRAM ersätter swap, så det första man bör göra är att stänga av swap:
$ swapoff --all
Samt att kommentera bort swap i /etc/fstab genom att lägga till # först på alla rader som har med swap att göra.

zRAM använder datorns RAM-minne.
Det kan verka lite ointuitivt då swap använder hårddisken när RAM-minnet tar slut - varför använda zRAM i RAM-minnet om RAM-minnet tar slut?
Det zRAM gör är att komprimera data, ungefär som man kan komprimera filer med gzip.
Då zRAM komprimerar RAM resulterar det paradoxalt nog att man får mer RAM-minne och därför inte behöver swap.

zRAM är väldigt effektivt på äldre datorer med upp till 4 GB RAM och mekaniska hårddiskar (som inte är ssd).

zRAM är förinstallerat i Fedora och Pop!_OS, i andra disreos måste man installera manuellt.

Man kan se om man har zRAM installerat med kommandot:
cat /proc/swaps
Om man har zRAM får man en RAM-disk per processorkärna (core) man har.

För att installera zRAM installerar man:
$ sudo apt install zram-tools
$ sudo apt install systemd-zram-generator

Här blir jag lite förvirrad för flera guider på nätet säger att man ska installera paketet zram-config istället, som jag inte har.
Det finns även ett program som redan ska vara förinstallerat på alla linuxdistros:
zramctl
För det kommer med paketet util-linux, som även innehåller program som fdisk, cfdisk och sfdisk.

Standard är att konfigurera så 50 % av datorns RAM blir zRAM.
Arbetar man mycket med video och multimedia, som inte komprimeras så bra, bör man ha mindre än 50 %.
Arbetar man mycket med databaser, som komprimeras väldigt bra, bör man ha mer än 50 %.
Och man bör inte ha mer än 8 GB zRAM.

zRAM har en configfil, men jag hittar olika sökvägar till filen:
/usr/bin/init/zramswapping
/etc/default/zramswap
Vad är det för skillnad på de filerna?

Det finns olika komprimeringsalgoritmer som zRAM kan använda, t.ex. zstd, zlib, lz4, lzo, brotli (där zstd verkar vanligast och komprimerar bäst, men lz4 är snabbast).

Ett sätt att aktivera zRAM (med 60 % av RAM och zstd-algoritmen) är:

Kod: Markera allt

sudo apt install zram-tools
echo -e "ALGO=zstd\nPERCENT=60" | sudo tee -a /etc/default/zramswap
sudo service zramswap reload
Här blir jag återigen förvirrad, för service är väl ett System V-kommando. Jag kör System D och borde väl använda systemctl?

Man kan kontrollera zRAM med
$ systemctl status zramswap.service
men även med:
$ sudo zramswap stop
(vilket borde vaar samma sak som systemctl stop zramswap.service)

I filen /etc/default/zramswap finns även PRIORITY=100.
Är detta samma sak som swappiness 100 ?
Ska man "slå på" swap med swapon och fstab, efter man installerat/konfigurerat zRAM?
Jag såg någon som rekommenderade swappiness 150 för zRAM.

HJÄLP!
Nu har jag läst om zRAM på mer än ett dussin sidor och det känns som jag förstår mindre om zRAM än innan jag började läsa på.
Användarvisningsbild
anth
Inlägg: 514
Blev medlem: 22 aug 2019, 15:35
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster

Re: zRAM

Inlägg av anth »

Jag har kommit lite längre

Främsta anledningen till att jag hittar så olika instruktioner är för att olika distros hanterar zram på olika sätt.
T.ex. hanterar Fedora zram lite annorlunda än Debian/Ubuntu.
Och Ubuntu hanterar zram lite annorlunda än Debian.
Det är ingen stor skillnad, men förvirrande för en som mig, som gärna vill hitta två olia källor som säger samma sak för att vara säker på att jag gör rätt.

Låt oss se på Debian/Ubuntu, det här är ändå ett Ubuntuforum.
Om jag förstått rätt ska zram finnas i kärnan från åtminstone Debian 11 / Ubuntu 22.04 - så man slipper använvända modprobe.

Både Debian och ubuntu har programmet zramctl installerat från början , då det kommer i samma paket som fdisk.

Både Debian och Ubuntu har paketen zram-tools och systemd-zram-generator, så bägge ska kunna använda sig av instruktionerna från den här sidan:
https://wiki.debian.org/ZRam

Ubuntu har även zram-config, medan Debian måste använda git clone från
https://github.com/ecdye/zram-config

Zram är inte en direkt ersättare till swap, men kan göras till det med zswap:
https://wiki.debian.org/Zswap

Zram är egentligen ännu enklare att testa än swap, för det är bara ett program som använder RAM-minnet. Stänger man av det så försvinner det (till skillnad från en swap-fil, eller swap-partition).

Det går alldeles utmärkt att köra swap och zswap samtidigt, man ger dem bara olika prioritet.
Ger man Zswap Priority 100 och Swap PRIORITY -1, kommer linux i första hand använda Zswap pch bara använda vanliga Swap när minnet är slut.

Zram är dynamiskt. Ger man zram 50 % av all RAM i datorn, betyder det inte att man förlorar hälften av sitt RAM, bara att zram kan använda upp till 50 % RAM om det skulle behövas.

Zram är speciellt effektivt på datorer med 4 GB RAM eller mindre.
Det är också skonsamt mot ssd och nvme, eftersom det förhindrar onödiga skrivcykler och därmed ökar livlängden på diskarna.

Jag har hittat ett par olika lösningar där man installerar Debian 12 med LVM, BTRFS, zRAM, och Timeshift eller Snapper för att ta snapshots av systemet - som jag tänkte testa.
Får jag det att fungera med Debian ska jag testa att göra samma sak med Ubuntu. De två fungerar egentligen på samma sätt, men Ubuntus installationsprogram är lite mer restriktivt än Debians, så det är lite krångligare (har jag hört).
Användarvisningsbild
Osprey
Inlägg: 6310
Blev medlem: 06 apr 2008, 00:09
OS: Ubuntu
Ort: Göteborg/Mölndal/Falkenberg
Kontakt:

Re: zRAM

Inlägg av Osprey »

Jag kör zram och vanlig swap-partition parallellet sedan många år och det funkar felfritt, så här är det konfigurerat och ser ut:

Kod: Markera allt

Swapspace            Type             Size         Used        Percent      Priority    
---------            ----             ----         ----        -------      --------    
/dev/nvme1n1p9       partition       12.75 GiB    348.96 MiB       2%          -2
/dev/zram0           partition        7.75 GiB      4.81 GiB      62%           5
Visserligen kör jag numera Mint, men skulle inte tro att det skiljer sig så mycket från Ubuntu, eller Debian om man kör LMDE.

Anledningen till att jag har både zram och en swap-partition är att det fysiska minnet är begränsat (16 GiB), medan jag har mycket mer utrymme på disk. Samtidigt vill jag helst swappa till minnet så länge det finns utrymme för det, eftersom detta är snabbare/effektivare.
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
Användarvisningsbild
Osprey
Inlägg: 6310
Blev medlem: 06 apr 2008, 00:09
OS: Ubuntu
Ort: Göteborg/Mölndal/Falkenberg
Kontakt:

Re: zRAM

Inlägg av Osprey »

Jag kör som sagt var zRAM sedan många år, även om jag inte kan detaljerna. Det är ganska avancerat och jag har aldrig satt mig in i det på djupare nivå, det funkar och jag är nöjd med det...
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
Skriv svar

Återgå till "Experimentverkstad"