Sådan aktiverer du zram i Linux og får mest muligt ud af din hukommelse

Sidste ændring: 19/04/2026
Forfatter: Isaac
  • zram opretter komprimerede blokenheder i RAM, der fungerer som swap- eller ultrahurtige diske, hvilket reducerer diskadgang og forbedrer ydeevnen.
  • I Debian, Ubuntu og derivater er det nemt at aktivere zram med zram-tools, ved at justere komprimeringsalgoritmen og størrelsen i henhold til den installerede RAM.
  • Værktøjer som zram-config eller zram-generator automatiserer oprettelsen af ​​flere zram-enheder og deres integration med systemd.
  • At vælge mellem procentvis eller fast størrelse og prioritere zram frem for diskswap giver mulighed for en afbalanceret og effektiv konfiguration.

Konfiguration af zram i Linux

Hvis du bruger GNU/Linux dagligt og er bekymret for at få mest muligt ud af din computers ydeevneFør eller siden vil du støde på konceptet med zRAM. Mange brugere med begrænset RAM oplever hakken, lejlighedsvise frysninger eller langsom ydeevne, når de åbner flere ressourcekrævende programmer samtidigt. Traditionelt involverede løsningen brugen af ​​en swap-partition på harddisken, men i dag findes der meget hurtigere og mere effektive alternativer.

zram er en af ​​de små perler, der tilbydes af Linux-kernenDet giver dig mulighed for at oprette komprimerede blokenheder direkte i RAM til brug som et ultrahurtigt swap-område eller endda som midlertidige diske. Når det er korrekt konfigureret, kan det gøre en kæmpe forskel på både beskedne systemer (4-8 GB RAM) og mere kraftfulde maskiner med 16 eller 32 GB, hvilket reducerer diskadgang, forhindrer nedbrud og forbedrer den samlede systemydelse.

Hvad er ZRAM, og hvorfor forbedrer det ydeevnen sammenlignet med en klassisk swap?

zram er et Linux-kernemodul, der opretter komprimerede blokenheder i RAMMed andre ord opretter den en slags "virtuel disk" i RAM, hvorpå der kan oprettes et swap-rum eller endda et filsystem. Data, der skrives til denne enhed, komprimeres undervejs ved hjælp af CPU'en og gemmes i hukommelsen, så den optager mindre plads, end den ville gøre uden komprimering.

Hovedideen er at udnytte, at RAM er meget hurtigere end nogen harddisk eller SSD.Når systemet begynder at løbe tør for fysisk hukommelse, komprimeres hukommelsessider til zRAM i stedet for at dumpe dem til en langsom disk. Selvom noget CPU-forbrug går tabt ved komprimering og dekomprimering, kompenseres der mere end rigeligt for gevinsten i adgangshastighed, og diskslid reduceres, hvilket er især vigtigt for SSD'er.

Denne mekanisme var oprindeligt kendt som compcacheOver tid udviklede det sig, indtil det blev integreret i kernen under sit nuværende navn, zram. I dag betragtes det som et meget seriøst alternativ (og i mange distributioner den foretrukne mulighed) til den traditionelle swap-partition, som vi har set i Linux i årtier.

En meget klar praktisk fordel er forbedringen af ​​præstationen i "ekstreme" situationer.For eksempel er det blevet testet på bærbare computere, der kører Fedora, at visse krævende spil, der kører med Proton (såsom Doom 2016), ved at skifte fra diskswap til swap over zRAM, gik fra at køre med blot 6-7 fps til omkring 20 fps på den samme hardware, blot ved at ændre swapping-strategien. Det er ikke magi; det er simpelthen, at swap'en ikke længere er på en relativt langsom disk, men i stedet er i komprimeret RAM.

Denne fremgangsmåde har også fordele på moderne computere med masser af hukommelse.Selvom du måske tror, ​​at du med 16 eller 32 GB RAM ikke behøver swap, er sandheden, at en komprimeret buffer i zram kan hjælpe med at opretholde flydende funktioner, når du åbner browsere med snesevis af faner, virtuelle maskiner, tunge editorer eller spil, hvilket forhindrer systemet i at begynde at afslutte processer eller hakke.

Hvor bruges zram i dag, og hvilke distributioner inkluderer det allerede eller gør det nemt at bruge?

Mange distributioner har gjort en stærk indsats for at bruge zram som en erstatning eller et supplement til den klassiske swap.Et af de mest kendte eksempler er Fedora, som besluttede at prioritere swap frem for zRAM som standard i stedet for udelukkende at stole på en swap-partition på disken. Denne ændring har forbedret oplevelsen betydeligt på bærbare og stationære computere med begrænset hukommelse.

I Debian- og Ubuntu-verdenen har tilgangen ændret sig gennem årene.Debian 10 (Buster) og Debian 11 (Bullseye), såvel som Ubuntu 20.04 LTS og nyere, giver dig mulighed for nemt at konfigurere zram ved hjælp af specifikke pakker (såsom zram-tools eller zram-generator). Derudover bruger Ubuntu typisk en swapfil på disken i stedet for en dedikeret partition, hvilket i høj grad forenkler deaktivering af denne swap-plads, hvis du beslutter dig for at skifte til zram.

Andre distributioner har endda indarbejdet zram i deres installationsprogrammer.Arch Linux tilbyder for eksempel muligheden for at aktivere zram direkte fra det guidede installationsprogram, archinstall. Vælg blot den tilsvarende mulighed for at konfigurere systemet med swap over zram ved hjælp af rimelige standardparametre, noget nogle brugere endda bruger som reference til finjustering af deres egne systemer.

Ud over desktop-computere bruges zram også i mobile enheder og indlejrede systemerAndroid og Ubuntu Touch udnytter dette til at få lidt pusterum på smartphones med begrænset hukommelse: RAM er en meget værdifuld ressource, og muligheden for at komprimere dele af dens indhold giver mulighed for at køre mere krævende applikationer, end den rå fysiske hukommelse ellers ville tillade. Nogle lette desktopdistributioner inkluderer det også som standard.

På systemer med rigelig RAM, såsom stationære pc'er eller mini-pc'er med 16-32 GBDet bliver mere og mere almindeligt ikke at oprette en swap-partition under installationen og kun bruge zram som den komprimerede swap-mekanisme. Dette holder systemet kørende problemfrit uden at skulle reservere diskplads til swap, hvilket i mange tilfælde sjældent bruges.

  Hvordan kan jeg finde mine venner på Pinterest og tilføje nye mennesker?

Grundlæggende begreber: swap, blokering af enheder og virtuelle diske i RAM

For fuldt ud at forstå, hvad zram gør, er det nyttigt at gennemgå to koncepter: at bytte og blokere enheder.I GNU/Linux er "næsten alt en fil", og hardwareenheder er ingen undtagelse: de er repræsenteret som specielle filer i /dev. En harddisk, en SSD, et SD-kort eller et USB-flashdrev vises som blokenheder, som systemet tilgår med den samme grænseflade, selvom de bruger forskellige underliggende teknologier.

En blokenhed kan indeholde et traditionelt filsystem, såsom ext4, XFS, btrfs osv., og monteres på et monteringspunkt for normal brugeradgang. Denne abstraktion tillader dog også oprettelse af blokenheder, der ikke er tilknyttet nogen fysisk hardware, såsom RAM-diske. Dette er områder af RAM-hukommelse, som systemet eksponerer, som om de var "diske", og som kan formateres og monteres som ethvert andet drev.

Swap er derimod det område, der bruges af systemets virtuelle hukommelse, når RAM løber tør.Traditionelt set ligger swap-plads på en disk (i en partition eller en fil). Når kernen har brug for at frigøre RAM, flytter den færre aktive hukommelsessider til dette swap-område. Problemet er, at diskadgang er adskillige gange langsommere end RAM-adgang, hvilket er grunden til, at når et system aggressivt begynder at paging for at swap, bliver der en meget mærkbar afmatning.

Ideen bag zram er at kombinere det bedste fra begge verdenerDette involverer oprettelse af en "falsk" blokenhed i RAM og komprimering af de data, der skrives til den. Dette opnår en lignende effekt som at have mere tilgængelig hukommelse (fordi komprimerede data optager mindre plads) med stort set samme hastighed som RAM, da flaskehalsen bliver CPU'en i stedet for disken. Dette er især nyttigt på systemer med en anstændig CPU, hvor omkostningerne ved komprimering og dekomprimering er meget håndterbare.

Derudover er en anden klar fordel, at RAM'en ikke slides op.Brug af swap på en SSD indebærer konstant skrivning til et lagringsmedie med en begrænset levetid; med zram sker al swapping i hukommelsen uden at beskadige diske eller kræve dedikeret diskplads. Derfor foretrækker flere og flere brugere med bærbare computere og SSD'er at konfigurere swap på zram og i mange tilfælde helt deaktivere diskswap.

Kompressionsalgoritmer i ZRAM: LZ4, ZSTD, LZO og Company

Generelt accepteres følgende præstationsrækkefølge normalt.Med hensyn til ren komprimering og dekompressionshastighed er lz4 normalt den hurtigste, efterfulgt af zstd og derefter lzo. Med hensyn til kompressionsforhold (dvs. hvor meget det reducerer datastørrelsen), vinder zstd normalt, efterfulgt af lzo og derefter lz4. Det betyder, at zstd komprimerer mere, men er lidt langsommere end lz4, mens lz4 ofrer kompressionsforholdet for lynhurtig ydeevne.

I mange desktop-scenarier tilbyder zstd en fremragende balanceDen komprimerer bedre end lz4 (og "strækker" dermed RAM mere) og er normalt hurtig nok på moderne maskiner. Af denne grund anbefaler nogle administratorer og avancerede brugere at konfigurere zram til at bruge zstd som den primære algoritme, medmindre hardwaren er meget CPU-begrænset, og hver cyklus tæller.

Den tilgængelige og valgte algoritme kan ses i selve systemet. Når zram-modulet er indlæst, vil det blot at tjekke indholdet af /sys/block/zram0/comp_algorithm vise, hvilke algoritmer kernen i øjeblikket understøtter, og hvilken der er aktiv. Denne information er også kommenteret ud i nogle konfigurationsfiler for værktøjer som zram-tools.

Under alle omstændigheder kræver valget af algoritme normalt ikke hyppige ændringerDen sædvanlige fremgangsmåde er at vælge en (for eksempel zstd eller lz4), lade den være standard i indstillingerne, og hvis du er særlig omhyggelig, kan du køre nogle ydeevnetests på dit specifikke system. De fleste brugere vil bemærke en klar forbedring blot ved at aktivere zram, uanset eventuelle små forskelle mellem algoritmer.

Aktivér zram på Debian, Ubuntu og derivater med zram-tools

I Debian, Ubuntu og mange APT-baserede derivater er den nemmeste måde at aktivere zram ved at bruge zram-tools-pakken.Denne pakke tilbyder en service og en central konfigurationsfil, der giver dig mulighed for nemt at definere, hvordan zram skal bruges som swap. Det er en gennemprøvet og forholdsvis standard metode, der fungerer godt på Debian 10, Debian 11, Ubuntu 20.04, Ubuntu 22.04 og lignende versioner.

Det første trin er at installere den tilsvarende pakke fra terminalen.ved hjælp af sudo eller root-kontoen. Den typiske kommando i disse distributioner ville være:

sudo apt install zram-tools

Når zram-tools er installeret, er nøglefilen /etc/default/zramswapDet er her, parametre som komprimeringsalgoritmen, den samlede størrelse af zram og dens prioritet over andre swaps defineres. Hvis du genstarter uden at ændre noget, opretter systemet normalt en lille mængde zram som standard (for eksempel 250 MiB), hvilket ofte er utilstrækkeligt til realistisk desktopbrug i disse dage.

For at justere indstillingerne efter dine behov, skal du redigere filen med dit foretrukne editorprogram.De, der foretrækker et grafisk miljø, kan bruge noget som Geany med sudo, mens de, der foretrækker konsollen, normalt bruger nano eller lignende. For eksempel:

sudo nano /etc/default/zramswap

I denne fil finder du adskillige kommenterede afsnit Disse forklarer de tilgængelige muligheder. Der er normalt et afsnit om komprimeringsalgoritmen, et andet om procentdelen af ​​RAM, der skal dedikeres til zram, et andet om at indstille en statisk størrelse i MiB og en prioritetsindstilling for swap. Formatet kan variere en smule mellem versioner, men det underliggende koncept er det samme.

  Metoder til at nulstille Notes-adgangskode på iPhone

Juster algoritmen og størrelsen af ​​swap-pladsen på zram i henhold til computerens RAM.

En af de vigtigste justeringer er at vælge den passende komprimeringsalgoritmeI zram-tools er der normalt en linje som ALGO=, der er kommenteret ud eller har en standardværdi (ofte lz4). Hvis du vil udnytte din RAM bedre, og din CPU ikke er ekstremt begrænset, kan du ændre den til at bruge zstd, hvilket resulterer i noget i retning af:

NOGET=zstd

Den anden vigtige parameter er, hvor meget plads der skal allokeres til zramDer er to almindelige strategier: at konfigurere en procentdel af den samlede RAM eller at indstille en specifik mængde i MiB. I nogle eksempler bruges variabler som PROCENT eller PROCENTAGE til at definere en procentdel (f.eks. 50 for halvdelen af ​​RAM'en), mens andre versioner af filen viser en variabel som STØRRELSE eller ALLOCATION for at angive en fast størrelse.

Hvis du vælger en procentdel, er en meget almindelig konfiguration i systemer med 4-8 GB RAM at allokere omkring 50-70% af hukommelsen. en zram. For eksempel:

PROCENT=50

Eller i nogle konfigurationsvariationer: PROCENT=50. På denne måde ville der på en computer med 8 GB RAM blive oprettet cirka 4 GB swap komprimeret i zram, hvilket normalt er tilstrækkeligt for de fleste stationære computere og undgår at komme for tæt på de fysiske grænser.

På maskiner med masser af RAM er det normalt mere fornuftigt at definere en statisk størrelse.I stedet for at tillade en meget høj procentdel at generere uforholdsmæssigt meget zram, kan værdier som STØRRELSE eller ALLOCATION i MiB anvendes. Nogle administratorer anbefaler f.eks. 4096 MiB (4 GiB) zram til systemer med mere end 8 GB RAM og 8192 MiB (8 GiB) til systemer med mere end 16 GB, hvilket efterlader den resterende hukommelse ukomprimeret.

Et eksempel fra den virkelige verden på en computer med 32 GB kunne være: ALGO=zstd og SIZE=4096, hvilket reserverer 4 GB swap i zram ved hjælp af zstd. Nogle brugere bruger archinstall-installationsprogrammet i Arch Linux til 32 GB-maskiner som reference, hvilket normalt allokerer omkring 4 GB zram; andre foretrækker at gå op til 8 GB, hvis de kører mange virtuelle maskiner eller store containere.

Denne konfigurationsfil indeholder normalt ret detaljerede kommentarer. Med hensyn til de tilgængelige muligheder og referencer til den officielle kernedokumentation, er det en god idé at læse disse kommentarer omhyggeligt for at forstå, hvad hver variabel gør. Hvis du er usikker på, hvilken værdi du skal indstille, så vær på den sikre side: det er bedre at starte med 4 GB og øge senere end i starten at vælge for store størrelser, der kan efterlade dig uden nok RAM, når komprimering ikke reducerer dataene betydeligt.

Administration af eksisterende diskswap og swap-prioriteter

Når du aktiverer zram, er det vigtigt at kontrollere, hvilken diskswap du har defineret.Mange Debian- og Ubuntu-installationer opretter en swap-partition under installationen, eller i nyere versioner af Ubuntu en swap-fil i rodfilsystemet. Hvis du ikke deaktiverer disse, ender du med både komprimeret swap i RAM og swap på disken, og kernen vil beslutte, hvilken der skal bruges, baseret på dens prioriteter.

På computere med meget RAM (f.eks. 16 eller 32 GB) vælger mange brugere helt at deaktivere swap-partitionen eller diskfilen.I disse tilfælde er de udelukkende afhængige af zram til swapping, hvilket undgår langsom diskadgang og reducerer slid på SSD'er. Hvis dit Debian- eller Ubuntu-system ikke oprettede en swap-partition på disken (for eksempel fordi du udelod den under installationen), behøver du ikke at røre noget i /etc/fstab.

Hvis du har en swap-partition, kan du deaktivere den ved at redigere /etc/fstab og kommenterer den linje, der svarer til samlingspunktet for den pågældende byttehandel. Den typiske procedure ville være:

sudo nano / etc / fstab

Find den linje, der refererer til swap-partitionen (normalt med swap-typen) og kommenter det ud ved at tilføje et # i begyndelsen. Efter at have gemt ændringerne og genstartet, vil systemet ikke længere montere den disk-swap og vil fokusere på zram. Som en retningslinje kan det på systemer med kun 4 GB RAM være en god idé at beholde disk-swap'en som en ekstra backup, mens du fra 6-8 GB og fremefter kan klare dig ret godt med bare zram.

I selve zram-konfigurationsfilen kan du også justere enhedens prioritet.Dette gøres ved hjælp af en indstilling som PRIORITY. Swapon giver dig mulighed for at tildele numeriske prioriteter til hvert swap-område; jo højere tallet er, desto hurtigere vil kernen bruge den swap. Det giver mening at give zram en højere prioritet end nogen swap på harddisken eller SSD'en, hvilket sikrer, at den hurtige swap i RAM er opbrugt først, og derefter, kun hvis det er nødvendigt, bruges disk-swap'en.

Hvis du på et hvilket som helst tidspunkt vil kontrollere, hvilken swap der er aktiv, og i hvilken rækkefølge den brugesDu kan bruge `swapon --show`. Denne kommando viser en tabel, der viser swap-enhederne, deres størrelse, aktuelle brug og prioritet. Det er en hurtig måde at bekræfte, at din zram-konfiguration fungerer som forventet, og at systemet rent faktisk udnytter den.

Brug af zram som en komprimeret RAM-disk med systemd zram-generator

Udover zram-tools er der på moderne systemer med systemd en anden meget kraftfuld mulighed: zram-generatorDenne pakke giver dig mulighed for at definere zram-enheder ved hjælp af konfigurationsfiler i /etc/systemd, med tilstrækkelig fleksibilitet til at bruge dem som både swap- og generelle diske formateret med filsystemer som ext4.

  Hvordan låser man Huawei op med en adgangskode eller et mønster?

Den primære konfigurationsfil er normalt /etc/systemd/zram-generator.confI mange installationer findes den ikke som standard, så du skal oprette den manuelt. Alternativt kan du oprette en struktur i /etc/systemd/zram-generator.conf.d/ med en eller flere *.conf-filer, der fungerer som konfigurations-"snippets" og overskriver dele af hovedfilen, hvis en sådan findes.

Syntaksen er baseret på sektioner med navne som , osv. Nummereringen starter ved 0, hvilket definerer den første enhed, den anden osv. Inden for hver sektion kan parametre, der ligner dem, der ses i zram-tools, indstilles, men med nogle yderligere indstillinger specifikke for systemd og diskbrug.

Blandt de mest interessante muligheder er komprimeringsalgoritmenDette giver dig mulighed for at vælge komprimeringsalgoritmen (for eksempel zstd, lz4, lzo-rle osv.). Hvis ikke angivet, vil systemet bruge kernens standardværdi, som i mange tilfælde er lzo-rle. Der er også en `options`-direktiv til at videregive monterings- eller swap-parametre, såsom `discard`, som forårsager, at ubrugte komprimerede sider afskæres under udførelsen, hvilket optimerer hukommelsesstyringen.

En anden relevant direktiv er writeback-deviceDenne indstilling er designet til avancerede scenarier og giver dig mulighed for at udpege en enhed til at gemme sider, der ikke kan komprimeres effektivt, og dermed aflaste dem fra zram. Denne konfiguration er mindre almindelig på stationære computere, men den kan være nyttig i meget trange miljøer, hvor du vil kombinere komprimeret hukommelse og backuplagring.

Hvis du vil bruge zram som en komprimeret RAM-disk, kommer fs-type og mount-point i spil.Med `fs-type` definerer du filsystemet (for eksempel ext4) og med `mount-point` den mappe, hvor zram-enheden skal monteres. Dette tillader for eksempel at montere en ultrahurtig, komprimeret midlertidig mappe i RAM, hvilket er nyttigt til tunge kompileringer, behandling af midlertidige data eller applikationscaching.

Det er muligt at blande anvendelser i den samme enhed ved at oprette flere zram-enhederzram0 som swap og zram1 som en disk monteret med ext4. I nogle praktiske eksempler er det f.eks. konfigureret, at zram0 kun oprettes, hvis systemet har mere end en vis mængde RAM (f.eks. 9 GB), og at hver enhed kan bruge op til 2 GB fysisk hukommelse, hvilket justerer det maksimale forbrug af zram og forhindrer, at den bruger for meget RAM, hvis komprimeringen ikke er så effektiv som forventet.

Praktiske kontroller og automatisk opførsel af zram-config

Nogle værktøjer som zram-config (bruges i visse Ubuntu-derivater) automatiserer meget af konfigurationenNår pakken er installeret, opretter og konfigurerer den som standard zram, hvilket kræver minimal brugerindgriben. Efter genstart starter systemet med zram-enhederne klar til brug som højprioritets-swaps.

En af de almindelige strategier for disse automatiske konfigurationer er at oprette en zram-enhed for hver CPU-kerne.Dette gør det muligt at fordele kompressions- og dekompressionsbelastningen mellem flere tråde, hvilket gør bedre brug af multi-core processorer. I et quad-core system ville man for eksempel se fire zram-enheder (zram0, zram1, zram2, zram3) af lignende størrelser, som kernen kan bruge parallelt.

Den samlede størrelse af zram er normalt sat til omkring halvdelen af ​​den fysiske RAM.På en maskine med 8 GB RAM kan standardkonfigurationerne således generere omkring 4 GB zRAM fordelt på de forskellige enheder. Denne mængde giver normalt en god balance mellem at udnytte komprimering og ikke efterlade systemet uden tilstrækkelig plads til processer, der ikke komprimeres godt.

Den prioritet, der tildeles disse zram-enheder, er normalt højere end diskswap.Dette sikrer, at systemet først bruger den komprimerede RAM-swapplads og kun tyer til disken som en sidste udvej. Denne præference kan verificeres med `swapon --show`, hvor du vil se de numeriske prioriteter og kan bekræfte, at zram har forrang over den traditionelle swapfil eller swap-partition.

For at kontrollere den nøjagtige konfiguration og faktiske brug af zram, er der flere nyttige kommandoer.For eksempel viser `cat /proc/swaps` alle aktive swap-områder, inklusive zram, deres størrelse og hvor meget der bruges. Du kan også inspicere `/sys/block/zram*/` for detaljeret statistik og avancerede parametre, såsom den aktuelle komprimeringsalgoritme eller mængden af ​​fysisk hukommelse, der forbruges i forhold til logisk allokeret.

I praksis behøver brugeren normalt ikke at gribe ind, når zram er korrekt konfigureret.Operativsystemet bestemmer, hvilke sider der flyttes til zRAM, hvornår de skal komprimeres, og hvornår de skal frigives. Det, du vil bemærke, hvis du bruger ressourcekrævende programmer eller åbner mange applikationer, er, at maskinen yder bedre, før den begynder at blive langsommere eller lukke processer på grund af mangel på hukommelse.

Konfiguration af swap over zram i Linux giver dig mulighed for at udnytte den tilgængelige hukommelse endnu bedre.Reducer diskadgang og forbedrer den samlede systemfluiditet, uanset om du har en bærbar computer med 4-8 GB RAM eller en stationær computer med 32 GB. Ved at forstå størrelsen, algoritmen og prioritetsmulighederne kan du justere denne funktionalitet efter din smag og få mest muligt ud af den uden at komplicere dit liv.

Googles AI: mindre hukommelse, samme ydeevne
relateret artikel:
TurboQuant: Googles AI, der lover den samme ydeevne med meget mindre hukommelse