Skift

denne side giver en introduktion til at bytte plads og personsøgning på GNU / Linuk. Det dækker oprettelse og aktivering af bytte partitioner og bytte filer.

deler sin fysiske RAM (random access memory) i stykker hukommelse kaldet pages. Bytte er den proces, hvorved en hukommelsesside kopieres til det forudkonfigurerede rum på harddisken, kaldet bytteplads, for at frigøre den hukommelsesside. De kombinerede størrelser af den fysiske hukommelse og byttepladsen er mængden af virtuel hukommelse, der er tilgængelig.

understøttelse af bytte leveres af hjælpeprogrammerne til Brugerplads og user-space fra pakken til brugerplads.

Skift plads

Skift plads kan have form af en diskpartition eller en fil. Brugere kan oprette et bytteplads under installationen eller på et hvilket som helst senere tidspunkt efter ønske. Bytte plads kan bruges til to formål, for at udvide den virtuelle hukommelse ud over den installerede fysiske hukommelse (RAM), og også til suspension-til-disk support.

Hvis det er fordelagtigt at udvide den virtuelle hukommelse med bytte afhænger af mængden af installeret fysisk hukommelse. Hvis mængden af fysisk hukommelse er mindre end den mængde hukommelse, der kræves for at køre alle de ønskede programmer, kan det være en fordel at aktivere bytte. Dette undgår ud af hukommelsesforhold, hvor den centrale oom killer mekanisme automatisk vil forsøge at frigøre hukommelse ved at dræbe processer. For at øge mængden af virtuel hukommelse til det krævede beløb skal du tilføje den nødvendige forskel (eller mere) som bytteplads.

den største ulempe ved at aktivere bytte er dens lavere ydelse, se afsnit #ydeevne. Derfor, aktivering af bytte er et spørgsmål om personlig præference: nogle foretrækker, at programmer dræbes frem for at aktivere bytte, og andre foretrækker at aktivere bytte og langsommere system, når den fysiske hukommelse er opbrugt.

Bemærk: Der er ingen ydelsesforskel mellem at bruge en byttepartition og en sammenhængende byttefil.

for at kontrollere byttestatus skal du bruge:

$ swapon --show

eller for at vise fysisk hukommelse samt bytte brug:

$ free -h

Skift partition

Tango-unøjagtig.pngden faktiske nøjagtighed af denne artikel eller sektion bestrides.Tango-unøjagtig.PNG

årsag:82 er byttepartitionstypen på MBR, der er ingen autodetektion af byttepartitionen på MBR. / TRIM kommandoer på bytte partitioner synes at blive udstedt automatisk af kernen, hvis understøttet se Fedora installationsvejledninger. (Diskuter i Talk:Byt#Afklar skift opdagelse)

en byttepartition kan oprettes med de fleste GNU / Linuks partitioneringsværktøjer. Skift partitioner betegnes typisk som type 82. Selvom det er muligt at bruge en hvilken som helst partitionstype som Bytte, anbefales det at bruge type 82 i de fleste tilfælde, da systemd automatisk registrerer det og monterer det (se nedenfor).

for at opsætte en partition som linjeskiftområde bruges kommandoen mkvap(8). For eksempel:

# mkswap /dev/sdxy
advarsel: Alle data på den angivne partition vil gå tabt.

for at aktivere enheden til personsøgning:

# swapon /dev/sdxy

for at aktivere denne byttepartition ved opstart skal du tilføje en post til /etc/fstab:

UUID=device_UUID none swap defaults 0 0

hvor device_UUID er uuid for byttepladsen.

se fstab for filsyntaksen.

Bemærk:

  • fstab-posten er valgfri, hvis byttepartitionen er placeret på en enhed, der bruger GPT. Se næste underafsnit.
  • hvis du bruger en SSD med TRIM-understøttelse, skal du overveje at brugediscard i byttelinjen i fstab. Hvis du aktiverer skift manuelt med skift, opnår parameteren-d--discard det samme. Se pkt. 8 for detaljer.
advarsel: Aktivering af kassering ved RAID-opsætninger ved hjælp af mdadm vil medføre systemlåsning ved opstart og under kørsel, hvis du bruger bapon.

aktivering af systemd

systemd aktiverer byttepartitioner baseret på to forskellige mekanismer. Begge er eksekverbare i /usr/lib/systemd/system-generators. Generatorerne køres ved opstart og opretter native systemd-enheder til monteringer. Den første, systemd-fstab-generator, læser fstab for at generere enheder, herunder en enhed til Bytte. Den anden,systemd-gpt-auto-generator inspicerer roddisken for at generere enheder. Den fungerer kun på GPT-diske og kan identificere byttepartitioner efter deres type GUID, se systemd#GPT partition automounting for mere information.

deaktivering af bytte

for at deaktivere specifikt bytteplads:

# swapoff /dev/sdxy

alternativt brug-a skift for at deaktivere alt bytteplads.

da bytte administreres af systemd, aktiveres det igen ved næste systemstart. For at deaktivere den automatiske aktivering af detekteret bytteplads permanent skal du køre systemctl --type swap for at finde den ansvarlige .Skift enhed og maske den.

Skift fil

som et alternativ til at oprette en hel partition giver en byttefil mulighed for at variere dens størrelse on-the-fly og fjernes lettere helt. Dette kan især være ønskeligt, hvis diskpladsen er til en præmie (f.eks.advarsel: Btrfs understøtter byttefil med begrænsninger siden kernel version 5.0. Se btrfs # Byt fil for mere information.

manuelt

Skift filoprettelse

Bemærk: Hvis du bruger Btrfs, skal du først følge proceduren beskrevet i Btrfs#Byt fil for at initialisere byttefilen.

brug dd til at oprette en byttefil, som du vælger. Hvis du f.eks. opretter en 512 MiB-byttefil:

# dd if=/dev/zero of=/swapfile bs=1M count=512 status=progress

Bemærk: Brug af dd til at tildele en byttefil er den mest bærbare løsning.

Indstil de rigtige tilladelser (en verdenslæsbar byttefil er en enorm lokal sårbarhed):

# chmod 600 /swapfile

Når du har oprettet den rigtige størrelse fil, skal du formatere den til at bytte:

# mkswap /swapfile

aktiver byttefilen:

# swapon /swapfile

endelig Rediger fstab-konfigurationen for at tilføje en post til byttefilen:

/etc/fstab
/byttefil ingen skift standardindstillinger 0 0

for yderligere oplysninger, se fstab#brug.

Bemærk:

  • byttefilen skal angives ved dens placering på filsystemet, ikke ved dens UUID eller etiket.
  • når du bruger Btrfs, skal du ikke glemme at tilføje den oprettede undervolumen til listen også og fjerne discard,autodefrag og komprimeringsindstillinger.

Fjern byttefil

for at fjerne en byttefil skal den først slukkes og derefter fjernes:

# swapoff /swapfile# rm -f /swapfile

fjern endelig den relevante post fra/etc/fstab.

automatiseret

SRAM-generator

formålet med dette værktøj er oprettelsen af SRAM-enheder. Den er skrevet i Rust og ligger i systemd ‘ s GitHub. Det kan installeres med pakken generatorAUR.Konfiguration er ligetil og forklaret i README.

systemd-skift

Bemærk: Forfatteren anbefaler nu at bruge en generator i stedet, på grund af lav commit frekvens og en generator, der dækker de fleste brugeres behov.

systemd-bytte er et script til at skabe hybrid bytte plads fra bytter, bytte filer og bytte partitioner. Det er ikke tilknyttet systemd-projektet.

Installer systemd-byttepakken. Uncomment og set swapfc_enabled=1i bytte fil Chunked sektion af /etc/systemd/swap.conf. Start / aktiver systemd-swap service.

besøg forfatterne GitHub side for mere information og opsætning af den anbefalede konfiguration.

Bemærk:

  • hvis journalen fortsat viser følgende advarselsystemd-swap: WARN: swapFC: ENOSPC og der ikke oprettes nogen byttefil, skal du fjerne og indstilleswapfc_force_preallocated=1 i/etc/systemd/swap.conf.
  • byttefilen oprettet af systemd-bytte kan ikke let bruges til dvaletilstand. Se systemd-bytte nummer 85.

Byt kryptering

se DM-krypt / Byt kryptering.

ydeevne

Bytteoperationer er normalt betydeligt langsommere end direkte adgang til data i RAM. Deaktivering af bytte helt for at forbedre ydeevnen kan undertiden føre til en nedbrydning, da det reducerer den tilgængelige hukommelse til VFS-cacher, hvilket forårsager hyppigere og dyrere disk I/O.

bytteværdier kan justeres for at hjælpe ydeevnen:

Byttelighed

bytteværdien repræsenterer kernens præference (eller undgåelse) af bytteplads. 100, hvis Linuk < 5.8), standardværdien er 60. En lav værdi får kernen til at undgå at bytte, en høj værdi får kernen til at forsøge at bruge bytteplads, og en værdi på 100 betyder, at IO-omkostninger antages at være ens. Brug af en lav værdi på tilstrækkelig hukommelse er kendt for at forbedre lydhørheden på mange systemer.

for at kontrollere den aktuelle bytteværdi:

$ sysctl vm.swappiness

alternativt kan filerne/sys/fs/cgroup/memory/memory.swappinesseller/proc/sys/vm/swappiness læses for at opnå den rå heltalsværdi.

Bemærk: Som /proc er meget mindre organiseret og opbevares kun til kompatibilitetsformål, opfordres du til at bruge /sys i stedet.

for midlertidigt at indstille bytteværdien:

# sysctl -w vm.swappiness=10

for at indstille bytteværdien permanent skal du oprette en sysctl.D (5) konfigurationsfil. For eksempel:

 /etc/sysctl.d / 99-bytte.conf
 vm.10

for at teste og mere om, hvorfor dette kan fungere, skal du se på denne artikel.

VFS cache pres

en anden sysctl parameter, der påvirker bytte ydeevne ervm.vfs_cache_pressure, som styrer tendensen af kernen til at genvinde den hukommelse, der bruges til caching af VFS caches, versus pagecache og bytte. Forøgelse af denne værdi øger den hastighed, hvormed VFS-cacher genvindes. Du kan finde flere oplysninger i dokumentationen til kernekernen.

prioritet

Hvis du har mere end en byttefil eller byttepartition, bør du overveje at tildele en prioritetsværdi (0 til 32767) for hvert bytteområde. Systemet vil bruge bytteområder med højere prioritet, før du bruger bytteområder med lavere prioritet. Har en hurtigere disk (/dev/sda) og en langsommere disk (/dev/sdb), skal du tildele en højere prioritet til bytteområdet på den hurtigste enhed. Prioriteter kan tildeles i fstab viapri parameter:

/dev/sda1 none swap defaults,pri=100 0 0/dev/sdb2 none swap defaults,pri=10 0 0

eller via --priority :

# swapon --priority 100 /dev/sda1

Hvis to eller flere områder har samme prioritet, og det er den højeste tilgængelige prioritet, tildeles sider på en Round-robin basis mellem dem.

Brug zswap eller zram

Zswap er en Linux-kernel funktion, der giver en komprimeret skrive tilbage cache for byttes sider. Dette øger ydeevnen og reducerer IO-operationerne. En virtuel komprimeret byttefil oprettes i hukommelsen som alternativ til en byttefil på disken.

Striping

der er ingen grund til at bruge RAID af hensyn til byttepræstation. Kernen selv kan stripe bytte på flere enheder, hvis du bare giver dem samme prioritet i /etc/fstab filen. Se programmet-RAID-vejledning for detaljer.

Related Posts

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *