Bytt

denne siden gir en introduksjon til bytteplass og personsøking på GNU / Linux. Den dekker opprettelse og aktivering av swap partisjoner og bytte filer.

Fra All about Linux swap space:

Linux deler sin fysiske RAM (random access memory) i biter av minne kalt sider. Bytte er prosessen der en side med minne kopieres til forhåndskonfigurert plass på harddisken, kalt swap space, for å frigjøre den siden med minne. De kombinerte størrelsene på det fysiske minnet og bytteplassen er mengden virtuelt minne som er tilgjengelig.

Støtte for swap er levert Av Linux-kjernen og bruker-plass verktøy fra util-linux-pakken.

Swap space

Swap space kan ta form av en diskpartisjon eller en fil. Brukere kan opprette en swap plass under installasjonen eller på et senere tidspunkt som ønsket. Bytteplass kan brukes til to formål, for å utvide det virtuelle minnet utover DET installerte fysiske minnet (RAM), og også for suspend-to-disk-støtte.

Hvis det er gunstig å utvide det virtuelle minnet med swap, avhenger av mengden installert fysisk minne. Hvis mengden fysisk minne er mindre enn mengden minne som kreves for å kjøre alle ønskede programmer, kan det være gunstig å aktivere swap. Dette unngår ut av minneforhold, hvor Linux kernel oom killer mekanisme vil automatisk forsøke å frigjøre minne ved å drepe prosesser. For å øke mengden virtuelt minne til ønsket mengde, legg til nødvendig forskjell (eller mer) som bytteplass.

den største ulempen ved å aktivere bytte er lavere ytelse, se avsnitt # Ytelse . Derav, aktivere swap er et spørsmål om personlig preferanse: noen foretrekker programmer for å bli drept over aktivere swap og andre foretrekker aktivere swap og tregere system når det fysiske minnet er oppbrukt.

Merk: det er ingen ytelsesforskjell mellom å bruke en byttepartisjon og en sammenhengende byttefil.

for å sjekke byttestatus, bruk:

$ swapon --show

eller for å vise fysisk minne samt byttebruk:

$ free -h

Bytt partisjon

tango-unøyaktig.pngden faktiske nøyaktigheten av denne artikkelen eller delen er omstridt.Tango-unøyaktig. > png

Årsak: 82 er byttepartisjonstypen PÅ MBR, det er ingen byttepartisjonsautodeteksjon PÅ MBR. / TRIM-kommandoer på swap-partisjoner ser ut til å bli utstedt automatisk av Kjernen hvis støttet se Fedora Deployment Guides. (Diskuter I Diskusjon:Swap # Clarify swap discovery)

en swap-partisjon kan opprettes med DE fleste GNU / Linux-partisjoneringsverktøy. Byttepartisjoner er vanligvis betegnet som type 82. Selv om det er mulig å bruke en hvilken som helst partisjonstype som swap, anbefales det å bruke type 82 i de fleste tilfeller siden systemd automatisk oppdager den og monterer den (se nedenfor).

for å sette opp en partisjon Som Linux-bytteområde, brukes mkswap(8) kommandoen. For eksempel:

# mkswap /dev/sdxy
Advarsel: Alle data på den angitte partisjonen vil gå tapt.

for å aktivere enheten for personsøking:

# swapon /dev/sdxy

for å aktivere denne swap-partisjonen ved oppstart, legg til en oppføring til /etc/fstab:

UUID=device_UUID none swap defaults 0 0

hvor device_UUID er UUID av bytteplassen.

Se fstab for filsyntaksen.

Merk:

  • fstab-oppføringen er valgfri hvis swap-partisjonen er plassert på en enhet ved HJELP AV GPT. Se neste underavsnitt.
  • hvis du bruker EN SSD med TRIM-støtte, bør du vurdere å bruke discard i byttelinjen i fstab. Hvis du aktiverer swap manuelt med swapon, bruker parameteren -d--discard det samme. Se swapon (8) for detaljer.
Advarsel: Aktivering av forkast PÅ RAID-oppsett ved hjelp av mdadm vil føre til systemlåsing ved oppstart og under kjøring, hvis du bruker swapon.

Aktivering av systemd

systemd aktiverer byttepartisjoner basert på to forskjellige mekanismer. Begge er kjørbare i /usr/lib/systemd/system-generators. Generatorene kjøres ved oppstart og lager innfødte systemd-enheter for fester. Den første, systemd-fstab-generator, leser fstab for å generere enheter, inkludert en enhet for bytte. Den andre,systemd-gpt-auto-generator inspiserer rotdisken for å generere enheter. Den opererer bare PÅ gpt-disker, og kan identifisere byttepartisjoner etter DERES TYPE GUID, se systemd#gpt partition automounting for mer informasjon.

Deaktivering av bytte

for å deaktivere bestemt bytteplass:

# swapoff /dev/sdxy

Alternativt bruk -a bryteren for å deaktivere alt bytteplass.

siden swap styres av systemd, vil den bli aktivert igjen ved neste systemstart. For å deaktivere automatisk aktivering av oppdaget bytteplass permanent, kjør systemctl --type swap for å finne den ansvarlige .bytt enhet og maskere den.

Bytt fil

som et alternativ til å opprette en hel partisjon, tilbyr en byttefil muligheten til å variere størrelsen på flyet, og blir lettere fjernet helt. Dette kan være spesielt ønskelig hvis diskplass er på en premie(f. eks en beskjeden STØRRELSE SSD).Advarsel: Btrfs støtter bytte fil med begrensninger siden Linux kernel versjon 5.0. Se Btrfs # Swap-fil for mer informasjon.

Manuelt

Bytt filopprettelse

Merk: hvis Du bruker Btrfs, følger du først fremgangsmåten beskrevet I Btrfs # Bytt fil for å initialisere byttefilen.

Bruk dd til å opprette en byttefil som du selv velger. For eksempel, å lage en 512 MiB byttefil:

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

Merk: Bruk av dd for å tildele en byttefil er den mest bærbare løsningen, se swapon (8) § Filer med hull for detaljer.

Angi de riktige tillatelsene (en verdenslesbar byttefil er et stort lokalt sikkerhetsproblem):

# chmod 600 /swapfile

etter å ha opprettet filen med riktig størrelse, formater den for å bytte:

# mkswap /swapfile

Aktiver byttefilen:

# swapon /swapfile

til slutt redigerer du fstab-konfigurasjonen for å legge til en oppføring for byttefilen:

/etc/fstab
/swapfile none swap standard 0 0

For mer informasjon, se fstab#bruk.

Merk:

  • byttefilen må spesifiseres av plasseringen på filsystemet, ikke AV UUID eller ETIKETT.
  • Når Du bruker Btrfs, ikke glem å legge til det opprettede undervolumet i listen også ,og fjerndiscard,autodefrag og komprimeringsalternativer.

Fjern byttefil

for å fjerne en byttefil må den først slås av og deretter fjernes:

# swapoff /swapfile# rm -f /swapfile

fjern endelig den relevante oppføringen fra/etc/fstab.

Automatisert

zram-generator

målet med dette verktøyet er opprettelsen av zram-enheter. Den er skrevet I Rust og ligger i systemds GitHub. Den kan installeres med zram-generatorAUR-pakken.Konfigurasjonen er enkel og forklart I README.

systemd-bytte

Merk: Forfatteren anbefaler nå å bruke zram-generator i stedet, på grunn av lav commit frekvens og zram dekker behovene til de fleste brukere.systemd-swap er et skript for å lage hybrid swap plass fra zram swaps, bytte filer og bytte partisjoner. Det er ikke tilknyttet systemd-prosjektet.

Installer systemd-swap-pakken. Uncomment og sett swapfc_enabled=1 I Byttefilen Chunked delen av /etc/systemd/swap.conf. Start /aktiversystemd-swap – tjenesten.

Besøk forfattere GitHub side for mer informasjon og sette opp den anbefalte konfigurasjonen.

Merk:

  • hvis journalen fortsetter å vise følgende advarselsystemd-swap: WARN: swapFC: ENOSPC og ingen byttefil blir opprettet, må du uncomment og setteswapfc_force_preallocated=1 i/etc/systemd/swap.conf.
  • byttefilen opprettet av systemd-swap kan ikke enkelt brukes til dvalemodus. Se systemd-swap utgave 85.

Bytt kryptering

Se dm-krypten / Bytt kryptering.

Ytelse

Swap-operasjoner er vanligvis betydelig tregere enn direkte tilgang til data I RAM. Deaktivering av bytte helt for å forbedre ytelsen kan noen ganger føre til en nedbrytning, siden det reduserer minnet som er tilgjengelig FOR VFS-cacher, noe som forårsaker hyppigere og kostbare disk I/O.

Bytteverdier kan justeres for å hjelpe ytelsen:

Swappiness

swappiness sysctl-parameteren representerer kjernens preferanse (eller unngåelse) av bytteplass. Swappiness kan ha en verdi mellom 0 og 200 (maks 100 Hvis Linux < 5.8), standardverdien er 60. En lav verdi får kjernen til å unngå bytte, en høy verdi får kjernen til å prøve å bruke bytteplass, og en verdi på 100 betyr AT IO-kostnaden antas å være lik. Bruk av en lav verdi på tilstrekkelig minne er kjent for å forbedre responsen på mange systemer.

for å sjekke gjeldende swappiness verdi:

$ sysctl vm.swappiness

Alternativt kan filene/sys/fs/cgroup/memory/memory.swappinesseller/proc/sys/vm/swappiness leses for å få rå heltall verdi.

Merk: Som /proc er mye mindre organisert og holdes bare for kompatibilitetsformål, oppfordres du til å bruke/sys i stedet.

hvis du vil angi swappiness-verdien midlertidig:

# sysctl -w vm.swappiness=10

opprett en sysctl for å angi swappiness-verdien permanent.d (5) konfigurasjonsfil. For eksempel:

 / etc / sysctl.d / 99-swappiness.conf 
vm.swappiness=10 

for å teste og mer om hvorfor dette kan fungere, ta en titt på denne artikkelen.

vfs cache press

En annen sysctl parameter som påvirker swap ytelse er vm.vfs_cache_pressure, som styrer tendensen av kjernen for å gjenvinne minnet som brukes for caching AV VFS cacher, versus pagecache og swap. Øke denne verdien øker hastigheten SOM VFS cacher er gjenvunnet. Hvis Du vil ha Mer informasjon, kan Du se Dokumentasjonen For Linux-kjernen.

Prioritet

hvis du har mer enn en byttefil eller byttepartisjon, bør du vurdere å tildele en prioritetsverdi (0 til 32767) for hvert bytteområde. Systemet vil bruke swap områder med høyere prioritet før du bruker swap områder med lavere prioritet. Hvis du for eksempel har en raskere disk (/dev/sda) og en tregere disk (/dev/sdb), tilordner du en høyere prioritet til bytteområdet på den raskeste enheten. Prioriteringer kan tilordnes i fstab via pri parameter:

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

Eller via--priority parameter for swapon:

# swapon --priority 100 /dev/sda1

hvis to eller flere områder har samme prioritet, og det er den høyeste prioriteten som er tilgjengelig, blir sider fordelt på en round-robin basis mellom dem.

Bruke zswap eller zram

Zswap Er En Linux – kjernefunksjon som gir en komprimert tilbakeskrivingsbuffer for byttet sider. Dette øker ytelsen og reduserer IO-Operasjonene. ZRAM oppretter en virtuell komprimert Swap-fil i minnet som alternativ til en swapfile på disken.

Striping

DET er ikke nødvendig å bruke RAID for swap ytelse grunner. Kjernen selv kan stripe bytte på flere enheter, hvis du bare gir dem samme prioritet i/etc/fstab fil. Se PROGRAMVAREN-RAID HOWTO for detaljer.

Related Posts

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *