Paggamit ng isang file bilang isang swap memory (SWAP)

May-akda: Maikel Llamaret Heredia Nai-post sa site ng GUTL.

Matagal na ang nakalipas, GNU / Linux, ay limitado sa paggamit ng isang solong partisyon ng memorya ng pagpapalit ng isang maximum na 128 MB, isang bagay na pinintasan ng mga detractors ng core ng Linus Torvalds.

Sa kasamaang palad, ngayon walang ganoong limitasyon, at posible ring gumamit ng mas maraming memorya ng pagpapalit kung kinakailangan upang matugunan ang mga pangangailangan ng anumang system.

Minsan, pagkatapos mai-install ang aming system ay matatagpuan namin ang ating sarili sa pangangailangan na dagdagan ang memorya Magpalit na na-configure namin sa panahon ng pag-install, isang bagay na maaaring gawin sa isang simpleng paraan sa pamamagitan ng pagtaas ng laki ng napili na pagkahati para sa mga hangaring ito. Ngunit ... Ano ang gagawin kung hindi mo nais na hawakan ang talahanayan ng pagkahati?

Ano ang SWAP at paano ito gumagana?

Ang palitan ng puwang ng memorya o Magpalitan, ay ang kilala bilang virtual memory. Ang pagkakaiba sa pagitan ng tunay at virtual na memorya ay ang virtual memory na gumagamit ng puwang ng hard disk sa halip na isang module ng memorya.

Kapag naubusan ang totoong memorya, ang system ay kopya ng ilan sa mga nilalaman nito nang direkta sa puwang ng memorya na ito upang maisagawa ang iba pang mga gawain.

Ang paggamit ng SWAP ay may kalamangan sa pagbibigay ng karagdagang memorya na kinakailangan kapag naubos na ang tunay na memorya at kailangang isagawa ang isang proseso. Ang downside ay bilang isang resulta ng paggamit ng puwang sa hard disk, ang paggamit ng hard disk ay mas mabagal.

Gumamit ng isang file bilang isang memorya ng pagpapalit.

Ang pamamaraang ito ay hindi nangangailangan ng paggawa ng mga pagbabago sa talahanayan ng hard disk na pagkahati. Tamang-tama para sa mga walang karanasan na mga gumagamit, para sa mga nais na maiwasan ang pagkuha ng mga panganib kapag binabago ang talahanayan ng pagkahati ng kanilang hard disk, o para sa mga nangangailangan ng higit sa paminsan-minsang pagpapalitan ng memorya, o sa isang pangyayari sa pangyayari.

Isinasaalang-alang na ang swap file ay maaaring mailagay sa anumang direktoryo sa hard disk, ang utos ay naisakatuparan dd, na tumutukoy na ang mga zero ay isusulat (kung = / dev / zero) upang likhain ang file / swap (ng = / swap), sa mga bloke ng 1024 bytes (bs = 1024) hanggang sa makumpleto ang isang tiyak na dami sa mga byte (bilang = [dami na pinarami ng halaga ng bs]). Ang sumusunod na halimbawa ay ang nasa itaas hanggang sa 524288000 bytes ay nakumpleto (hinati sa 1024 na katumbas ng 512MB):

Upang likhain ang file na gagamitin namin bilang SWAP, magbubukas kami ng isang console at mai-type ang sumusunod (bilang ugat):

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

Ang hakbang sa itaas ay maaaring tumagal ng ilang segundo, mangyaring maging mapagpasensya. Pagkatapos, upang mai-format ang nilikha na file bilang swap memory, isasagawa namin ang utos mkswap, tulad ng sumusunod (palaging bilang ugat):

mkswap /swap

Ibabalik sa iyo ang isang output sa console na katulad ng sumusunod:

Pagse-set up ng bersyon ng swapspace 1, laki = 511996 KiB walang label, UUID = fed2aba5-77c6-4780-9a78-4ae5e19c506b

Upang buhayin ang pagkahati, at magamit agad ito ng operating system, ipatupad ang utos swapon. Sa aming kaso ay isasaaktibo namin bilang isang partisyon ng pagpapalitan ng memorya ng / swap file na nilikha namin at na-format ang SWAP sa mga nakaraang hakbang:

swapon /swap

Upang mapatunayan na ang bagong swap file ay ginagamit ng operating system, isasagawa namin muli ang utos libre at makikita natin na ang kapasidad ng bagong file ay naidagdag sa paunang memorya ng SWAP.

Upang magamit ang file na ito bilang awtomatikong pagpapalit ng memorya sa susunod na boot ng system, mag-e-edit kami  / etc / fstab (gamit ang nano, gedit, kate, kwrite, vim o ang plain text editor na iyong pinili), pagdaragdag ng kaukulang linya, tulad ng sumusunod, kung saan sa halip na ang aparato, ang landas ng swap file na nilikha ay inilalagay:

Binubuksan namin ang file

nano /etc/fstab

At idinagdag namin:

/swap         swap      swap     defaults               0 0

Handa na !!!!

Maaari naming i-reboot ang system at subukan na ang aming memorya ng pagpapalit ay tumaas sa paggamit ng bagong file SWAP Ang ginawa lamang namin ay lumikha ng isang file sa ugat ng system, i-format ito Magpalit at sabihin sa aming GNU / Linux upang magamit ito bilang isang palitan ng memorya, kasama ang pagkahati na mayroon na kami para sa hangaring ito.

Isang bagay na simple ngunit iyan ay maaaring magamit sa marami sa atin ... Nang walang karagdagang ado ...


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   khourt dijo

    Ang tala ay mahusay. Ngayon lamang ako nag-iisip ng isang bagay, maaari ko bang gamitin ang isang USB bilang isang daluyan ng memorya ??? Kung mayroon kang isang medyo luma na computer at ang pagkuha ng mga alaala ay kumplikado o masyadong mahal (mukhang mas matanda ang mas mahal na mga bahagi sa mga computer), mas mahusay na mapalawak lamang ang memorya gamit ang isang USB

    1.    auroszx dijo

      Oo, napakahusay, higit pa o mas kaunti iyan ang paraan ng pag-install ng zramswap (hindi ko gusto ang mga partisyon na salad, hindi ko pinaghiwalay ang anumang bagay).
      Kung nais mong gamitin ang usb bilang isang swap, nag-format ka lamang ng isang pagkahati para sa hangaring iyon, at idagdag ito sa fstab, binabago / ipalit sa / dev / sdb1 (ipinapalagay na ang landas ng iyong usb ay sdb1).

      1.    pagkubkob84 dijo

        ikaw ay magiging masaya sa mga btrf at mga subvolume nito

      2.    khourt dijo

        Kaya, kung naintindihan ko nang tama kung paano gawin ang USB Swap, ngunit naisip ko ang tungkol sa isang bagay tulad ng karagdagang RAM, dahil ang USB ay magiging pisikal na memorya, at hindi ko nais na maghintay para lumampas ito sa 60% ng memorya sa simulang gumamit ng USB.

        Sa gayon at nakikita ang komento ng @nonamed, ang dahilan para sa mga solusyon na tulad nito (at bilang isang kontribusyon lamang at hindi bilang pagsisimula ng isang digmaan sa koponan at sa lahat ng nararapat na paggalang) sa isang oras kung saan mayroon nang mga koponan na may mas mahusay na pagganap at tila hindi kinakailangan; Maaari akong mag-isip ng 3 puntos:

        Ika-1 At ang pinaka-halata, upang magamit ito sa mga lumang kagamitan
        Ika-2 Iniisip ko rin ang hindi gaanong bagong mga laptop na may kapasidad na 1gb o 2gb, "MINUS" ang memorya na nakalaan para sa video card
        Ika-3 Aba, halata naman di ba? Dahil nakakainteres ito at dahil magagawa ito ... hehehe! XD

        Isang pagbati

        1.    k1000 dijo

          O kung nakalimutan mong lumikha ng SWAP at hindi mo nais na guluhin ang talahanayan ng pagkahati

        2.    Katekyo dijo

          Nagpasya ka ba na gumamit ng isang USB drive bilang RAM? Hindi iyon magagawa dahil ang rate ng read-sulat ng RAM ay mas mabilis kaysa sa isang USB na maaaring suportahan at ang USB ay masisira pagkatapos ng maikling panahon ng paggamit haha ​​at magiging mahusay na paggamit ng isang USB drive bilang isang karagdagang SWAP

    2.    Altair dijo

      Oo, lumikha ka ng isang swap na pagkahati sa isang usb at i-mount ito sa sudo swapon / dev / sdX at maaari mong idagdag ang -s 60 dito upang mayroon itong priyoridad kaysa sa iba pang mga partisyon ng swap. Maaari mo ring idagdag ito sa fstab upang awtomatikong mai-mount, o likhain ang swap file tulad ng sinasabi nito sa mahusay na gabay sa usb usb

  2.   slayerkorn dijo

    Mahusay na gabay, at pagsasanay sa parehong oras, para kapag ang isang naubusan ng pagpapalit, kahit na mahirap. Ngayon kinokopya ko ang parehong bagay ngunit sa isang memorya ng usb upang ang paglipat ng data mula sa pisikal na memorya upang magpalitan ng memorya ay medyo mas mabilis.

  3.   elendilnarsil dijo

    Salamat sa impormasyon. ngunit bumubuo ito ng isang katanungan, marahil isang bagay na hangal: sa sandaling nilikha ang swap file na ito, hindi ba matatanggal ang pagpapalit ng partisyon ???

  4.   hindi pinangalanan dijo

    Minsan iniisip ko kung talagang sulit ang pagkakaroon ng pagpapalit, palagi kong nasa 0%, marahil ito ay may kinalaman sa memorya, mayroon akong 4Gb ng ram, hulaan ko kung mas maraming memorya ang hindi gaanong katuturan na gumamit ng swap

    1.    Daniel Rojas dijo

      Oo, depende ito sa memorya na mayroon ka sa makina. Palagi ko rin itong nasa 0%, at ang pagkakaroon ng 4Gb ng ram ay binibigyan ko lamang ng 512mb sa partisyon ng swap

      1.    pzero dijo

        Sa huling pag-install tinanggal ko ang swap. Kahit na, sa 24GB ng RAM, paminsan-minsan kong nakikita ang mga maliliit na swap na gamit (ilang KB) kahit na marami sa RAM ang hindi nagamit. Bakit? wala akong ideya

  5.   pagkubkob84 dijo

    Kailangan kong gawin ito sa sabayon, hindi ko mahanap ang dahilan kung bakit kinain nito ang lahat ng RAM at ang pagpapalit.

  6.   G. Linux dijo

    Palagi kong sasabihin ito, FromLinix ang numero unong blog, salamat sa mga kagiliw-giliw na artikulong ito. Siyanga pala, nahanap ko ang susi na itinapon ni Yoyo mula sa kulungan kung saan mayroon silang Elav, sa palagay ko itatago ko ito.

    Pagbati Elav.

  7.   merlin ang debianite dijo

    Napaka kapaki-pakinabang salamat sa kontribusyon.

  8.   angkop dijo

    Ito ay mas madali
    lvm lvresize /dev/vg_laptpop/vl_swap -L +4G
    kung gumagamit ka ng LVM malinaw (sa pag-aakalang nais mong palitan ang 4gigas)

    1.    angkop dijo

      Gayunpaman, ang kontribusyon na iyon ay p% $ isang ina, na hindi pa nalalaman dati, kung gaano karaming mga format ang nai-save ko xDDDD

  9.   invisible15 dijo

    Mayroon akong dalawang mga partition ng swap (isa sa bawat hard disk) at sa 1GB ng ram, gumagamit ako ng hindi bababa sa 200mb at 500mb ng swap ...

  10.   kalh dijo

    Kung mayroon kang maraming mga lumang pen-usb maaari kang gumawa ng isang swap sa isang pagsalakay ng 0 strip ng mga N usb device na may kung ano ang pinabilis mo ang pagganap ng swap na proporsyon sa mga nabutas na mga aparato ng usb at hangga't maaari bawat isa sa ibang ugat hub -ako isipin! -. Kailangan mo lamang ipaalam sa iyong sarili ang tungkol sa katutubong suporta ng pagsalakay ng linux soft.
    isang link para sa karagdagang impormasyon:
    http://www.kriptopolis.com/raid-1
    o isang mas pangkalahatang paghahanap
    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 dijo

      Nakalimutan kong sabihin na ang pagsalakay ay maaaring gawin sa antas ng pagkahati. Kaya't kung ang mga usb spike ay hindi pareho ang laki, maaari kang gumawa ng mga partisyon na sukat ng pinakamaliit na spike at ang natitirang mga butas ng mas malaking mga usb ay maaaring gamitin para sa iba pang mga bagay o para sa higit pang mga swap sa file o antas ng pagkahati ... na hindi Posible bang gawin ang pagsalakay sa maraming mga file ng pagpapalitan ng paraan na inilalarawan mo ???…

  11.   Carlos dijo

    Mahusay na tutorial, hinimok akong dagdagan ang pagpapalit na magagamit ko. (AT)

  12.   Jorge dijo

    Mukha itong maganda. Susubukan ko sa isang memorya ng usb.

  13.   AngGuillox dijo

    mahusay ... gumagana ito sa isang android cell phone? Mayroon na akong isang pasadyang kernel, ngunit hindi ko nais na hatiin ang sd. Sa palagay ko ay gagana ito

  14.   delugas dijo

    Napakagandang artikulo.

    Ang isa pang nakawiwiling konsepto tungkol sa swap ng Linux ay ang swappiness:

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

  15.   David coleman dijo

    Kumusta ang aking pangalan ay David Coleman Ako ay 32, mula sa Ohio Nag-aaral ako ng Computer program && computer science upang makuha ang aking Associates degree sa pareho sa loob ng 4 na taong oras!,
    Ang aking katanungan sa application (SWAP / no-root) APK ay simple pagkatapos ng swap / swp file na nilikha ko para sa 2Gb 999Mb's × 2 mahalagang paano isang eksaktong kung saan sa aking Android ito itatago? Gumagamit ako ng isang 3Gb ram 32gb memeroy +32 gb SanDisk SD masyadong boot Stylo 5 sa pamamagitan ng pagpapalakas ng mobile Unrooted na aparato na may bootloader na naka-unlock pati na rin ang sim unlock!. Anumang payo ay lubos na pinahahalagahan isang tinatanggap thx
    Urs SENCERLY, David Coleman 32 mula sa Ohio USA.. ?