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.
for å sjekke byttestatus, bruk:
$ swapon --show
eller for å vise fysisk minne samt byttebruk:
$ free -h
Bytt partisjon
den faktiske nøyaktigheten av denne artikkelen eller delen er omstridt.
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
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.
- 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.
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
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
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.
- 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 fjern
discard,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
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.
- hvis journalen fortsetter å vise følgende advarsel
systemd-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.swappiness
eller/proc/sys/vm/swappiness
leses for å få rå heltall verdi.
/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.