Een bestand gebruiken als wisselgeheugen (SWAP)

Auteur: Maikel Llamaret Heredia Geplaatst op de site van GUL.

Lang geleden, GNU / Linux, beperkt tot het gebruik van een enkele swap-geheugenpartitie van maximaal 128 MB, iets dat zeer bekritiseerd werd door de tegenstanders van de kern van Linus Torvalds.

Gelukkig is er tegenwoordig geen dergelijke limiet en is het ook mogelijk om zoveel swapgeheugen te gebruiken als nodig is om aan de behoeften van elk systeem te voldoen.

Soms hebben we na het installeren van ons systeem behoefte aan meer geheugen SWAP die we tijdens de installatie hadden geconfigureerd, iets dat op een eenvoudige manier kan worden gedaan door de grootte van de partitie die voor deze doeleinden wordt gekozen, te vergroten. Maar ... Wat te doen als u de partitietafel niet wilt aanraken?

Wat is SWAP en hoe werkt het?

De swap-geheugenruimte of Ruilen, is wat bekend staat als virtueel geheugen. Het verschil tussen echt en virtueel geheugen is dat virtueel geheugen ruimte op de harde schijf gebruikt in plaats van een geheugenmodule.

Als het echte geheugen is uitgeput, kopieert het systeem een ​​deel van de inhoud rechtstreeks naar deze wisselgeheugenruimte om andere taken uit te voeren.

Het gebruik van SWAP heeft het voordeel dat het extra geheugen wordt geboden dat nodig is wanneer het echte geheugen is uitgeput en een proces moet worden uitgevoerd. De keerzijde is dat als gevolg van het gebruik van ruimte op de harde schijf, het gebruik van de harde schijf langzamer verloopt.

Gebruik een bestand als wisselgeheugen.

Deze methode vereist geen wijzigingen in de partitietabel van de harde schijf. Ideaal voor onervaren gebruikers, voor diegenen die risico's willen vermijden bij het veranderen van de partitietabel van hun harde schijf, of voor diegenen die meer nodig hebben dan af en toe een wisselgeheugen, of op een indirecte manier.

Aangezien het wisselbestand in elke map op de harde schijf kan worden geplaatst, wordt de opdracht uitgevoerd dd, waarmee wordt aangegeven dat er nullen worden geschreven (if = / dev / zero) om het bestand te maken / swap (of = / swap), in blokken van 1024 bytes (bs = 1024) totdat een bepaald aantal bytes is voltooid (count = [aantal vermenigvuldigd met de waarde van bs]). Het volgende voorbeeld doet het bovenstaande totdat 524288000 bytes zijn voltooid (gedeeld door 1024 is gelijk aan 512 MB):

Om het bestand te maken dat we als SWAP zullen gebruiken, openen we een console en typen we het volgende (als root):

dd if=/dev/zero of=/swap bs=1024 count=512000

De bovenstaande stap kan enkele seconden duren, even geduld. Om vervolgens het gemaakte bestand als wisselgeheugen te formatteren, zullen we de opdracht uitvoeren mkswap, als volgt (altijd als root):

mkswap /swap

U wordt teruggestuurd met een uitvoer op de console die lijkt op de volgende:

Swapspace versie 1 instellen, maat = 511996 KiB zonder label, UUID = fed2aba5-77c6-4780-9a78-4ae5e19c506b

Voer de opdracht uit om de partitie te activeren en deze onmiddellijk door het besturingssysteem te laten gebruiken ruilen. In ons geval zullen we als een swap-geheugenpartitie het / swap-bestand activeren dat we in de vorige stappen SWAP hebben gemaakt en geformatteerd:

swapon /swap

Om te controleren of het nieuwe wisselbestand wordt gebruikt door het besturingssysteem, zullen we de opdracht opnieuw uitvoeren gratis en we zullen zien dat de capaciteit van het nieuwe bestand is toegevoegd aan het initiële SWAP-geheugen.

Om ervoor te zorgen dat dit bestand automatisch als wisselgeheugen wordt gebruikt bij de volgende systeemstart, zullen we bewerken  / Etc / fstab (met behulp van nano, gedit, kate, kwrite, vim of de platte teksteditor van uw keuze), de bijbehorende regel als volgt toevoegen, waar in plaats van het apparaat het pad van het gecreëerde wisselbestand wordt geplaatst:

We openen het bestand

nano /etc/fstab

En we voegen toe:

/swap         swap      swap     defaults               0 0

Klaar!!!!

We kunnen het systeem opnieuw opstarten en testen of ons swap-geheugen is toegenomen met het gebruik van het nieuwe bestand VERWISSELEN. Wat we simpelweg hebben gedaan, is een bestand in de root van het systeem maken en het formatteren SWAP en vertel het onze GNU / Linux om het te gebruiken als een wisselgeheugen, samen met de partitie die we al voor dit doel hadden.

Iets eenvoudigs, maar dat zou voor velen van ons van nut kunnen zijn ... Zonder verder oponthoud ...


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   Khourt zei

    Het briefje is geweldig. Alleen nu denk ik aan één ding: zou ik een USB op dezelfde manier als een geheugenstick kunnen gebruiken ??? Als je een wat oude apparatuur hebt en het verkrijgen van de herinneringen ingewikkeld of te duur is (het lijkt erop dat hoe ouder hoe duurder de onderdelen in computers zijn), dan zou het goed zijn om het geheugen alleen uit te breiden met een USB

    1.    auroszx zei

      Ja, het is erg goed, min of meer zo werkt de zramswap die ik heb geïnstalleerd (ik hou niet van partitiesalades, ik scheid niets).
      Als je de usb als een swap wilt gebruiken, formatteer je gewoon een partitie voor dat doel en voeg je deze toe aan de fstab, waarbij je / swap verandert in / dev / sdb1 (ervan uitgaande dat het pad van je usb sdb1 is).

      1.    sieg84 zei

        u zult blij zijn met btrfs en zijn subvolumes

      2.    Khourt zei

        Nou, als ik goed begreep hoe ik de USB Swap moest doen, maar ik dacht meer aan zoiets als extra RAM, aangezien de USB fysiek geheugen zou zijn, en ik zou niet willen wachten tot het 60% van het geheugen overschrijdt om begin met het gebruik van USB.

        Nou en gezien de opmerking van @nonamed, de reden voor oplossingen als deze (en alleen als bijdrage en niet als het begin van een teamoorlog en met alle respect) in een tijd waarin er al teams zijn met betere prestaties en het lijkt onnodig; Ik kan 3 punten bedenken:

        1e. En het meest voor de hand liggende, om het in oude apparatuur te gebruiken
        2e. Ik denk ook aan niet zo nieuwe laptops die een capaciteit van 1GB of 2GB hebben, "MINUS" het geheugen voor de videokaart.
        3e. Nou, het is duidelijk, toch? Omdat het interessant is en omdat het kan ... hehehe! XD

        groeten

        1.    k1000 zei

          Of als je vergeet om de SWAP aan te maken en je niet wilt knoeien met de partitietabel

        2.    Katekyo zei

          Besluit je om een ​​USB-stick als RAM te gebruiken? Dat kan niet omdat de lees- en schrijfsnelheid van de RAM veel sneller is dan een USB kan ondersteunen en ook de USB zou na een korte tijd van gebruik kapot gaan haha ​​en dat zou ook zo zijn goed gebruik een USB-stick als een extra SWAP

    2.    Altair zei

      Ja, je maakt een swappartitie op een usb en mount deze met sudo swapon / dev / sdX en je kunt er -s 60 aan toevoegen zodat het voorrang heeft op andere swappartities. Je kunt het ook toevoegen aan de fstab zodat het automatisch wordt aangekoppeld, of je kunt het wisselbestand maken zoals het zegt in deze geweldige gids op de usb

  2.   slayerkorn zei

    Uitstekende gids, en ik oefen tegelijkertijd, voor als iemand geen ruil meer heeft, hoewel moeilijk. Nu repliceer ik hetzelfde, maar dan in een usb-geheugen, zodat de overdracht van gegevens van fysiek geheugen naar het uitwisselingsgeheugen iets sneller gaat.

  3.   Elendilnarsil zei

    Bedankt voor de info. maar het genereert een vraag, misschien iets dwaas: als dit swapbestand eenmaal is gemaakt, kan de swappartitie dan niet worden verwijderd ???

  4.   niet genoemd zei

    Soms vraag ik me af of het echt de moeite waard is om te wisselen, ik heb het altijd op 0%, misschien heeft het te maken met geheugen, ik heb 4 GB RAM, ik denk dat hoe meer geheugen het minder zinvol is om swap te gebruiken

    1.    Daniël Rojas zei

      Ja, het hangt af van het geheugen dat u in de machine heeft. Ik heb het ook altijd op 0%, en met 4 GB RAM geef ik slechts 512 MB aan de swappartitie

      1.    pzero zei

        Bij de laatste installatie heb ik de swap verwijderd. Toch heb ik met 24 GB RAM af en toe kleine swap-toepassingen (een paar KB) gezien, zelfs als veel van het RAM-geheugen ongebruikt was. Waarom? ik heb geen idee

  5.   sieg84 zei

    Ik moest dit in sabayon doen, ik kon de oorzaak niet vinden waarom het al het RAM en de swap opat.

  6.   Meneer Linux zei

    Ik zal het altijd zeggen, FromLinix is ​​de nummer één blog, dankzij deze interessante artikelen. Trouwens, ik heb de sleutel gevonden die Yoyo uit de gevangenis heeft gegooid waar ze Elav hebben, ik denk dat ik die houd.

    Groeten Elav.

  7.   merlin de debianite zei

    Heel nuttig bedankt voor de bijdrage.

  8.   gepast zei

    Het is makkelijker
    lvm lvresize /dev/vg_laptpop/vl_swap -L +4G
    als u LVM clear gebruikt (ervan uitgaande dat u 4gigas wilt ruilen)

    1.    gepast zei

      Die bijdrage is echter p% $ voor moeder, omdat ik het niet eerder wist, hoeveel formaten zou ik xDDDD hebben opgeslagen

  9.   invisible15 zei

    Ik heb twee swappartities (één op elke harde schijf) en met 1GB ram gebruik ik minstens tussen de 200mb en 500mb swap ...

  10.   Kalh zei

    Als je meerdere oude USB-sticks hebt, kun je een raid 0-strip van N USB-apparaten verwisselen, waardoor de swapprestaties worden versneld in verhouding tot de lekke USB-apparaten en waar mogelijk elk in een andere root-hub-denk ik! -. U hoeft zich alleen maar te informeren over de native ondersteuning van raid by linux soft.
    een link voor meer info:
    http://www.kriptopolis.com/raid-1
    of een meer algemene zoekopdracht
    https://www.google.es/search?q=raid+por+soft+en+linux&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a&channel=fflb

    1.    Kalh zei

      Ik vergat te zeggen dat raid kan worden gedaan op partitieniveau. Dus als de usb-spikes niet dezelfde grootte hebben, kun je partities maken ter grootte van de kleinste spike en de resterende gaten van de grotere usbs kunnen worden gebruikt voor andere dingen of voor meer swaps op bestands- of partitieniveau ... dat wil zeggen niet Is het mogelijk om een ​​inval uit te voeren met verschillende uitwisselingsbestanden met de methode die u beschrijft ???…

  11.   Carlos zei

    Uitstekende zelfstudie, ik werd aangespoord om de beschikbare ruil te vergroten. (EN)

  12.   jorge zei

    Dit ziet er goed uit. Ik zal het proberen met een usb-geheugen.

  13.   DeGuillox zei

    uitstekend ... werkt het op een Android-gsm? Ik heb al een aangepaste kernel, maar ik wil de sd niet partitioneren. Ik denk dat dit zou moeten werken

  14.   deluga's zei

    Zeer goed artikel.

    Een ander interessant concept over Linux swap is swappiness:

    http://www.sysadmit.com/2016/10/linux-swap-y-swappiness.html

  15.   David Coleman zei

    Hallo mijn naam is David Coleman. Ik ben 32, uit Ohio. Ik studeer Computerprogrammering && Informatica om binnen 4 jaar mijn Associates-graad te behalen!,
    Mijn vraag met applicatie (SWAP / no-root) APK is eenvoudig na het swap / swp-bestand dat ik heb gemaakt voor 2Gb 999Mb's × 2 in wezen hoe precies waar in mijn Android moet het worden opgeslagen? Ik gebruik een 3Gb ram 32gb memeroy +32 gb SanDisk SD te boot Stylo 5 door boost mobiel Unrooted apparaat met bootloader ontgrendeld en sim ontgrendeld!. Elk advies wordt zeer op prijs gesteld een welkome thx
    Urs SENCERLY, David Coleman 32 uit Ohio, VS.. ?