Swap

tällä sivulla on johdatus GNU / Linuxin swap-tilaan ja hakulaitteeseen. Se kattaa luominen ja aktivointi swap osiot ja swap tiedostoja.

All about Linux swap space:

Linux jakaa fyysisen RAM-muistinsa (random access memory) palasiin, joita kutsutaan sivuiksi. Swap on prosessi, jossa muistisivu kopioidaan kiintolevyn esiasetettuun tilaan, jota kutsutaan swap-avaruudeksi, kyseisen muistisivun vapauttamiseksi. Fyysisen muistin ja vaihtotilan yhteenlaskettu koko on käytettävissä olevan virtuaalimuistin määrä.

tukea swapille tarjoavat Linux-ydin ja util-linux-paketin käyttäjäavaruusohjelmat.

Swap space

Swap space voi olla levyosion tai tiedoston muodossa. Käyttäjät voivat luoda swap-tilan asennuksen aikana tai milloin tahansa myöhemmin halutulla tavalla. Swap space voidaan käyttää kahteen tarkoitukseen, laajentaa virtuaalimuistin kuin asennettu fyysinen muisti (RAM), ja myös keskeyttää-to-disk tuki.

Jos virtuaalimuistin laajentaminen swapilla on hyödyllistä, riippuu asennetun fyysisen muistin määrästä. Jos fyysisen muistin määrä on pienempi kuin kaikkien haluttujen ohjelmien suorittamiseen tarvittava muistin määrä, voi olla hyödyllistä ottaa swap käyttöön. Näin vältetään pois muistista-olosuhteet, joissa Linux-ytimen oom-tappajamekanismi yrittää automaattisesti vapauttaa muistia tappamalla prosesseja. Jos haluat lisätä virtuaalimuistin määrää vaadittuun määrään, lisää tarvittava erotus (tai enemmän) swap-välilyönniksi.

suurin haittapuoli swapin käyttöönotossa on sen heikompi suorituskyky, KS.kohta #suorituskyky. Näin ollen swapin käyttöönotto on henkilökohtainen mieltymys: jotkut haluavat ohjelmat tapetaan yli mahdollistaa swap ja toiset mieluummin mahdollistaa swap ja hitaampi järjestelmä, kun fyysinen muisti on käytetty loppuun.

Huomautus: swap-osion ja vierekkäisen swap-tiedoston käytön välillä ei ole suorituskykyeroa.

tarkistaaksesi swap-tilan, käytä:

$ swapon --show

tai näytä fyysinen muisti sekä swap-käyttö:

$ free -h

Swap-osio

Tango-epätarkka.pngtämän artikkelin tai osion faktatarkkuus on kiistanalainen.Tango-epätarkka.png

Reason: 82 on MBR: n swap-osion tyyppi, MBR: ssä ei ole swap-osion autodetektiota. / TRIM-komennot swap-osioissa näyttävät olevan automaattisesti ytimen antamia, jos niitä tuetaan, KS. Fedora Deployment Guides. (Keskustele puheessa:Swap#Clarify swap discovery)

swap-osio voidaan luoda useimmilla GNU / Linux-osiointityökaluilla. Swap-osiot merkitään tyypillisesti tyypiksi 82. Vaikka on mahdollista käyttää mitä tahansa osiotyyppiä swapina, on suositeltavaa käyttää type 82 useimmissa tapauksissa, koska systemd tunnistaa sen automaattisesti ja asentaa sen (KS.alla).

Jos haluat määrittää osion Linux swap-alueeksi, käytetään komentoa mkswap(8). Esimerkiksi:

# mkswap /dev/sdxy
varoitus: kaikki tiedot määritellystä osiosta menetetään.

ottaaksesi kaukohakulaitteen käyttöön:

# swapon /dev/sdxy

ottaaksesi tämän swap-osion käyttöön käynnistyksessä, lisää merkintä /etc/fstab:

UUID=device_UUID none swap defaults 0 0

missä device_UUID on vaihtoavaruuden UUID.

Katso tiedoston syntaksi fstab: stä.

Huomautus:

  • fstab-merkintä on valinnainen, jos swap-osio sijaitsee GPT: tä käyttävässä laitteessa. Katso seuraava alajakso.
  • Jos käytät SSD: tä TRIM-tuella, harkitse discard käyttöä fstab: N swap-rivillä. Jos aktivoidaan swap manuaalisesti swaponilla, -d--discard parametri saavuttaa saman. Katso lisätietoja swaponista (8).
Varoitus: Poisheittämisen ottaminen käyttöön RAID-asetuksissa mdadm: n avulla aiheuttaa järjestelmän lukkiutumisen käynnistyksessä ja ajon aikana, jos käytetään swaponia.

systemd: n aktivointi

systemd aktivoi kahteen eri mekanismiin perustuvat vaihtoosiot. Molemmat ovat suoritettavia /usr/lib/systemd/system-generators. Generaattorit ovat käynnissä käynnistys ja luoda native systemd yksiköt kiinnikkeet. Ensimmäisessä, systemd-fstab-generator, lukee fstab generoidakseen yksiköitä, mukaan lukien swap-yksikön. Toinen, systemd-gpt-auto-generator tarkastaa juurilevyn tuottaakseen yksiköitä. Se toimii vain GPT-levyillä ja voi tunnistaa swap-osiot niiden tyypin GUID mukaan, katso lisätietoja systemd#GPT-osioiden automounting-kohdasta.

invalidisoiva swap

deaktivoidaksesi tietyn swap-tilan:

# swapoff /dev/sdxy

vaihtoehtoisesti käytä switch poistaa kaiken swap-tilan käytöstä.

koska swapia hallinnoi systemd, se aktivoituu uudelleen seuraavassa järjestelmän käynnistyksessä. Jos haluat poistaa havaitun swap-tilan automaattisen aktivoinnin pysyvästi käytöstä, aja systemctl --type swap löytääksesi syyllisen .vaihda yksikkö ja peitä se.

Swap-tiedosto

vaihtoehtona kokonaisen osion luomiselle swap-tiedosto tarjoaa mahdollisuuden muuttaa kokoaan lennossa, ja se on helpompi poistaa kokonaan. Tämä voi olla erityisen toivottavaa, jos levytila on premium (esim vaatimattoman kokoinen SSD).

Varoitus: Btrfs tukee swap-tiedostoa rajoituksin Linux-ytimen versiosta 5.0 lähtien. Katso lisätietoja Btrfs#Swap-tiedostosta.

manuaalisesti

Swap-tiedoston luonti

Huomautus: Jos käytät Btrfs: ää, noudata ensin Btrfs#Swap-tiedostossa kuvattua menettelyä swap-tiedoston alustamiseksi.

käytä dd: tä luodaksesi haluamasi kokoisen swap-tiedoston. Esimerkiksi 512 MiB: n swap-tiedoston luominen:

# dd if=/dev/zero of=/swapfile bs=1M count=512 status=progress
Huomautus: DD: n käyttäminen swap-tiedoston varaamiseen on kannettavin ratkaisu, katso swapon(8) § – tiedostot, joissa on reikiä.

aseta oikeat käyttöoikeudet (maailmalla luettava swap-tiedosto on valtava paikallinen haavoittuvuus):

# chmod 600 /swapfile

kun olet luonut oikeankokoisen tiedoston, muotoile se swap:

# mkswap /swapfile

aktivoi swap-tiedosto:

# swapon /swapfile

muokkaa lopuksi fstab: n asetuksia swap-tiedoston syöttämiseksi:

/etc/fstab
/swapfile none swap defaults 0 0

tiedot, katso fstab#usage.

Huomautus:

  • swap-tiedosto on määriteltävä sen sijainnin perusteella tiedostojärjestelmässä, ei sen UUID: n tai etiketin mukaan.
  • kun käytät Btrfs: ää, älä unohda lisätä myös luotua alitilavuutta luetteloon ja poista discard,autodefrag ja pakkausvaihtoehdot.

Poista swap-tiedosto

poistaaksesi swap-tiedoston, se on ensin kytkettävä pois päältä ja sen jälkeen se voidaan poistaa:

# swapoff /swapfile# rm -f /swapfile

poista asiaankuuluva merkintä kohdasta /etc/fstab.

automatisoitu

zram-generaattori

tämän työkalun tavoitteena on zram-laitteiden luominen. Se on kirjoitettu ruosteella ja sijaitsee systemd: n GitHubissa. Se voidaan asentaa ZRAM-generatorAUR paketti.Kokoonpano on suoraviivainen ja selitetty Readme.

systemd-swap

Huomautus: Kirjoittaja suosittelee nyt käyttämään zram-generaattoria sen sijaan, koska alhainen toimitus taajuus ja zram kattaa useimpien käyttäjien tarpeet.

systemd-swap on skripti, jolla luodaan hybrid swap-tilaa zram-swapeista, swap-tiedostoista ja swap-osioista. Se ei liity systemd-projektiin.

Asenna systemd-swap-paketti. Kommentin poisto ja set swapfc_enabled=1/etc/systemd/swap.confSwap File Chunked-osiossa. Käynnistä / Ota käyttöön

systemd-swap

– palvelu.

käy kirjoittajien GitHub-sivulla lisätietoja ja suositellun kokoonpanon laatiminen.

Huomautus:

  • Jos lehdessä on jatkuvasti seuraava varoitus systemd-swap: WARN: swapFC: ENOSPC eikä swap-tiedostoa ole luotu, on tehtävä poisto ja asetettava swapfc_force_preallocated=1 in /etc/systemd/swap.conf.
  • systemd-swapin luomaa swap-tiedostoa ei voi helposti käyttää lepotilaan. KS. systemd-swap kysymys 85.

Swap-salaus

Katso dm-crypt / Swap-salaus.

suorituskyky

Swap-operaatiot ovat yleensä huomattavasti hitaampia kuin suoraan tietojen hakeminen RAM-muistia käyttäen. Swapin poistaminen käytöstä kokonaan suorituskyvyn parantamiseksi voi joskus johtaa heikentymiseen, koska se vähentää VFS-välimuisteille käytettävissä olevaa muistia, mikä aiheuttaa tiheämpää ja kalliimpaa levyn I/O.

Swap-arvoja voidaan säätää suorituskyvyn helpottamiseksi:

Swappiness

swappiness sysctl-parametri edustaa ytimen mieltymystä (tai välttämistä) swap-avaruudessa. Swappinessin arvo voi olla välillä 0-200 (max 100 jos Linux < 5.8), oletusarvo on 60. Alhainen arvo aiheuttaa ytimen välttää swap, korkea arvo aiheuttaa ytimen yrittää käyttää swap tilaa, ja arvo 100 tarkoittaa IO kustannukset oletetaan olevan yhtä suuri. Riittävän muistin vähäisen arvon käytön tiedetään parantavan reagointikykyä monissa järjestelmissä.

nykyisen swappiness-arvon tarkistamiseksi:

$ sysctl vm.swappiness

vaihtoehtoisesti tiedostot /sys/fs/cgroup/memory/memory.swappiness tai /proc/sys/vm/swappiness voidaan lukea raa ’ an kokonaisluvun arvon saamiseksi.

Huom.: Koska /proc on vähemmän järjestetty ja sitä pidetään vain yhteensopivuustarkoituksessa, kehotetaan käyttämään /sys sen sijaan.

swappiness-arvon asettamiseksi väliaikaisesti:

# sysctl -w vm.swappiness=10

swappiness-arvon asettamiseksi pysyvästi, luodaan sysctl.d (5) asetustiedosto. Esimerkiksi:

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

testaa ja lisää siitä, miksi tämä voi toimia, tutustu tähän artikkeliin.

VFS-välimuistin paine

toinen swap-suorituskykyyn vaikuttava sysctl-parametri on vm.vfs_cache_pressure, joka ohjaa ytimen taipumusta palauttaa VFS-välimuistien välimuistiin, vs. pagecache ja swap. Tämän arvon korottaminen lisää VFS-kätköjen talteenottonopeutta. Lisätietoja on Linux-ytimen dokumentaatiossa.

prioriteetti

Jos sinulla on useampi kuin yksi swap-tiedosto tai swap-osio, sinun tulisi harkita prioriteettiarvon (0-32767) asettamista kullekin swap-alueelle. Järjestelmä käyttää swap-alueita, joilla on korkeampi prioriteetti, ennen kuin käyttää swap-alueita, joilla on alempi prioriteetti. Jos sinulla on esimerkiksi nopeampi levy (/dev/sda) ja hitaampi levy (/dev/sdb), aseta korkeampi prioriteetti nopeimmassa laitteessa sijaitsevalle vaihtoalueelle. Prioriteetit voidaan määrittää fstab: ssä pri parametri:

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

tai --priority swaponin parametri:

# swapon --priority 100 /dev/sda1

Jos kahdella tai useammalla alueella on sama prioriteetti ja se on korkein saatavilla oleva prioriteetti, sivut jaetaan niiden kesken.

Zswap tai zram

Zswap on Linux-ytimen ominaisuus, joka tarjoaa pakatun kirjoitusvälimuistin vaihdetuille sivuille. Tämä lisää suorituskykyä ja vähentää IO-operaatioita. ZRAM luo virtuaalisen pakatun Swap-tiedoston muistiin vaihtoehtona levyllä olevalle swap-tiedostolle.

Striping

ei ole tarvetta käyttää raidia swap-suorituskyvyn vuoksi. Itse kernel voi Stripata swappingia useammalla laitteella, jos niille vain antaa saman prioriteetin /etc/fstab – tiedostossa. Katso ohjelmisto-RAID HOWTO lisätietoja.

Related Posts

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *