Virtuālā atmiņa ir viena no lietām, kas ir mūsdienu operētājsistēmu pamatā, taču parasti jūs par to nedomājat, ja vien jums nav problēmu. Linux distribūcijās instalēšanas laikā tiek lūgts iestatīt virtuālo atmiņu (maiņas nodalījumus), taču lielākā daļa iesācēju neapzinās, cik tas ir noderīgi.

Šeit ir viss, kas jums jāzina par virtuālo atmiņu operētājsistēmā Linux.

Kas ir virtuālā atmiņa?

Virtuālā atmiņa ir veids, kā attēlot jūsu atmiņu, kas ir abstrahēta no jūsu datora fiziskās atmiņas. Tas izmanto gan jūsu RAM, gan jūsu krātuves vietu neatkarīgi no tā, vai tā atrodas tradicionālajā cietajā diskā vai SSD.

Operētājsistēmā Linux tas tiek darīts kodola un aparatūras līmenī. CPU ir aparatūras daļa, ko sauc par atmiņas pārvaldības vienību (MMU), kas pārvērš fiziskās atmiņas adreses virtuālajās. Šīs adreses nav atkarīgas no tā, kur tās fiziski atrodas iekārtā. Šīs adrešu vietas ir pazīstamas kā "lapas", un tās var būt RAM vai jūsu cietajā diskā vai SSD. Operētājsistēma šīs adreses uzskata par vienu lielu atmiņas kopumu, kas pazīstams kā "adreses telpa".

instagram viewer

Virtuālā atmiņa izmanto to, ka ne visa atmiņa, kas tiek izmantota teorētiski, tiek izmantota visu laiku. Atmiņā esošās programmas tiek sadalītas lapās, un tās daļas, kuras kodols uzskata par nevajadzīgām, tiek "nomainītas" vai pārvietotas uz cieto disku. Kad tie ir nepieciešami, tos var "iemainīt" vai atgriezt RAM.

Vieta, kas tiek izmantota diska virtuālajai atmiņai, ir pazīstama kā "papildveikals" vai "maiņas vieta". Windows pasaulē tā ir parasti tiek ieviests kā fails, kas pazīstams kā "swap fails". To var izdarīt arī operētājsistēmā Linux, taču tas ir daudz biežāk uz izmantojiet īpašu diska nodalījumu.

Mijmaiņas faili operētājsistēmā Linux parasti ir rezervēti minimālajām vai iegultajām sistēmām, un parasti tās darbojas bez virtuālās atmiņas, jo iegultajām operētājsistēmām ir jābūt mazām.

Virtuālās atmiņas rezultāts ir tāds, ka ir iespējams palaist lielas programmas, izmantojot vairāk atmiņas nekā fiziskā RAM. jūsu mašīna, līdzīgi kā kredītkarte ļauj veikt lielus pirkumus par lielāku naudu, nekā jums ir jūsu bankā konts. Tāpat kā kredītkarte, virtuālā atmiņa ir noderīga, ja tā ir nepieciešama, bet nevēlaties pārmērīgi izmantot tās izmantošanu.

Virtuālā atmiņa arī ļauj izstrādātājiem izveidot lietojumprogrammas, nezinot, kā tiek organizēta datora atmiņa.

Vēsturiski galvenais virtuālās atmiņas trūkums ir bijis tas, ka cietie diski ir bijuši lēnāki nekā RAM. Ja iekārtai nav pietiekami daudz operatīvās atmiņas, sistēma var bezgalīgi mainīt lapas uz iekšu un ārā, un tas ir process, kas pazīstams kā "kulšana". Tas ir mazāk problēmu mūsdienu personālajos datoros ar lielāku RAM un ātrākiem SSD diskiem, kas aizvieto mehāniskos cietos diskus, taču tas joprojām ir jāņem vērā no.

Linux mijmaiņas nodalījumi

Kā minēts iepriekš, parastā metode virtuālās atmiņas iestatīšanai operētājsistēmā Linux ir speciāla diska nodalījuma izmantošana. Instalācijas utilīta pārbaudīs jūsu aparatūru un piedāvās sadalīšanas shēmu, kas ietver mijmaiņas nodalījumu.

Varat arī pievienot mijmaiņas nodalījumus pēc instalēšanas. Ja vēlaties esošam diskam pievienot jaunu nodalījumu, tas būs jādara izmantojiet nesagraujošu sadalīšanas rīku tāpat kā GParted. Pārliecinieties, vai esat atlasījis "Linux mijmaiņas" kā sava nodalījuma failu sistēmu.

Pirms diska atkārtotas sadalīšanas dublējiet svarīgus datus.

Kad esat izveidojis nodalījumu, izmantojiet komandu mkswap, lai formatētu nodalījumu.

sudo mkswap /dev/sdX

Tagad jums būs jārediģē savs /etc/fstab kā root, lai pievienotu mijmaiņas nodalījumu. Šī failam pievienotā rinda iestatīs mijmaiņas nodalījumu, kas tiks uzstādīts sāknēšanas laikā:

/dev/sdX nav mijmaiņas noklusējuma iestatījumi 0 0

Tagad izmantojiet maiņa komandu, lai aktivizētu jauno mijmaiņas vietu, kur sdX ir jūsu mijmaiņas nodalījuma nosaukums:

sudo swapon /dev/sdX

Swap failu izmantošana operētājsistēmā Linux

Tas ir viegli iestatiet mijmaiņas failu operētājsistēmā Linux izmantojot komandrindu. Iespējams, vēlēsities to darīt, ja nevēlaties apgrūtināt diska sadalīšanu vai rediģēšanu /etc/fstab. Viena metode ir izmantot atmest:

Piemēram, lai izveidotu 2 GB mijmaiņas failu:

sudo fallocate -l 2G /ceļš/uz/swapfile

Kā alternatīvu varat izmantot komandu dd, lai izveidotu mijmaiņas failu.

sudo dd ja=/dev/nulle no=/path/uz/swapfile bs=1024 skaits =2048

Pārliecinieties, vai pareizi izmantojat komandu dd, jo nepareizi ievadot infile un outfile, var tikt zaudēti dati. šī iemesla dēļ vēlamā metode ir fallocate.

The /dev/zero ierīce ir īpaša ierīce, kas izvada "0". Ar šo dd komandu tiek izveidots tukšs divu gigabaitu bloka fails, izmantojot 1024 kilobaitu blokus, kas ir piemēroti izmantošanai kā mijmaiņas vieta.

Pēc tam varat izmantot mkswap un maiņa komandas ar mijmaiņas failu tāpat kā ar mijmaiņas nodalījumu:

sudo mkswap /path/to/swapfile
sudo swapon /path/to/swapfile

Jums varētu rasties jautājums, kad mijmaiņas vietai vajadzētu izmantot mijmaiņas failu vai īpašu nodalījumu. Izvēle ir vienkārša: vairumā gadījumu jums vajadzētu izmantot nodalījumu. Šī ir labākā izvēle Linux darbvirsmai vai serverim. Instalēšanas programmas ieteiktā nodalījuma shēma parasti ir piemērota viena lietotāja Linux darbvirsmai.

Iespējams, vēlēsities izmantot mijmaiņas failu, ja izmantojat Linux virtuālajā mašīnā, nelielā iegultā sistēmā vai vienkārši nevēlaties pārdalīt esošo Linux sistēmu.

Cik daudz maiņas vietas?

Daudzus gadus standarta padoms par to, cik daudz mijmaiņas vietas ir nepieciešams, ir divreiz lielāka par fizisko RAM. Šis noteikums var tikt apšaubīts, ņemot vērā lielos diskus un atmiņas apjomu, kas tiek piegādāts pat vislētākajiem personālajiem datoriem.

Daudzās sistēmās, atzīmējot augšējo vai htop, jūs pat varat pamanīt, ka mijmaiņas vieta netiek izmantota, ja sistēmu iestatāt šādi.

Tomēr divreiz lielāka fiziskā atmiņa ir labs sākumpunkts un apdrošināšanas polise, ja atmiņai tiek izvirzītas lielākas prasības. Ja nepieciešams, varat veikt izmaiņas sistēmā. Ja jūsu sistēma izmanto visu RAM, datoram, izmantojot virtuālo atmiņu, var rasties veiktspējas problēmas.

Dators var pastāvīgi mainīties iekšā un ārā — šis process tiek dēvēts par dauzīšanu, tādēļ tas šķiet nereaģējošs. Ja jums joprojām ir mehāniskais cietais disks, bieži var dzirdēt, kā tas pastāvīgi piekļūst.

Mūsdienās tā ir daudz mazāka problēma, jo RAM apjoms pat lētākajos personālajos datoros ir vairāk nekā pietiekams, turklāt SSD ātrums ir daudz lielāks nekā vecajiem cietajiem diskiem. Tas joprojām ir kaut kas, kas jums jāzina.

Vienkāršākais veids, kā to novērst, ir vienkārši pievienot savai iekārtai vairāk RAM. Ja tas nav iespējams, varat mēģināt pielāgot Linux kodola "maiņu".

Mijmaiņas skaitlis nosaka, cik daudz kodols tiek iegremdēts virtuālajā atmiņā. Tas svārstās no 0 līdz 100. Ja iestatāt to uz 0, tas nozīmē, ka Linux nemainīsies vispār, savukārt, ja ir 100, tas mainīsies pie katras izdevības. Lielākajā daļā sistēmu noklusējuma vērtība ir 60.

Lai īslaicīgi mainītu apmaiņu, izmantojiet komandu sysctl:

sudo sysctl vm.swappiness=20

"20" šajā komandā būs mijmaiņas skaitlis, līdz jūs restartēsit. Lai to neatgriezeniski mainītu, rediģējiet /etc/sysctl.conf failā kā sakne un ievietojiet rindu "vm.swappiness=[swappiness number]", kur "[swappiness number]" ir vēlamais mijmaiņas numurs. Tas būs pārtraukums, līdz varēsit instalēt vairāk RAM.

Virtuālā atmiņa nodrošina jūsu Linux sistēmas nevainojamu darbību

Virtuālā atmiņa ir mūsdienu operētājsistēmu, tostarp Linux, sastāvdaļa, kas nodrošina datora nevainojamu darbību. Varat izmantot mijmaiņas failu, taču parastā metode ir speciāls nodalījums. Jums par to nav tik daudz jādomā, taču Linux mijmaiņas nodalījumus un mijmaiņas failus ir viegli iestatīt un novērst.

Liela daļa no šiem padomiem attiecas arī uz citām sistēmām, tostarp Windows, pat ja virtuālās atmiņas iestatīšanas metodes atšķiras.