{"id":834,"date":"2017-04-21T19:49:32","date_gmt":"2017-04-21T17:49:32","guid":{"rendered":"http:\/\/miroslaw.borodziuk.eu\/?p=834"},"modified":"2017-05-18T17:43:06","modified_gmt":"2017-05-18T15:43:06","slug":"partycja-wymiany-swap","status":"publish","type":"post","link":"http:\/\/miro.borodziuk.eu\/index.php\/2017\/04\/21\/partycja-wymiany-swap\/","title":{"rendered":"Przestrze\u0144 wymiany (Swap)"},"content":{"rendered":"<p>Fizyczna pami\u0119\u0107 operacyjna to sko\u0144czony tymczasowy magazyn u\u017cywany do wczytywania j\u0105dra systemu, struktur danych, a tak\u017ce uruchomionych przez u\u017cytkownika program\u00f3w i aplikacji. Przestrze\u0144 wymiany (<em>swap space<\/em>) to obszar na dysku u\u017cywany do przechowywania nieu\u017cywanych danych a\u017c do momentu gdy s\u0105 potrzebne. System dzieli pami\u0119\u0107 fizyczn\u0105 na mniejsze kawa\u0142ki zwane stronami (<em>pages<\/em>) i mapuje ich fizyczne po\u0142o\u017cenie w pami\u0119ci operacyjnej do wirtualnego po\u0142o\u017cenia w przestrzeni wymiany aby u\u0142atwi\u0107 procesorowi dost\u0119p. <!--more-->Mapowanie pami\u0119ci fizycznej do wirtualnej jest przechowywane w tabeli stron (<em>page table<\/em>), kt\u00f3ra jest utrzymywana przez j\u0105dro systemu. Je\u017celi systemowi brakuje pami\u0119ci fizycznej to zaczyna on bezczynne strony z danymi (pages of data) przenosi\u0107 z pami\u0119ci fizycznej do przestrzeni wymiany aby zrobi\u0107 miejsce dla innych program\u00f3w. Taki proces nazywany jest wynoszeniem stron (<em>page out)<\/em>. Gdy system potrzebuje wyniesionych stron, CPU szuka ich w pami\u0119ci fizycznej i nast\u0119puje <em>page fault<\/em>, kt\u00f3ry skutkuje powrotem danych do pami\u0119ci fizycznej (<em>page in<\/em>). Ca\u0142y proces stronicowania danych do przestrzeni wymiany i z powrotem do pami\u0119ci fizycznej znany jest pod nazw\u0105 stronicowanie na \u017cyczenie (<em>demand paging<\/em>).<\/p>\n<p>System z du\u017cym zapotrzebowaniem na pami\u0119\u0107 i z ma\u0142ym rozmiarem pami\u0119ci operacyjnej mo\u017ce wej\u015b\u0107 w stan, w kt\u00f3rym b\u0119dzie bardzo zaj\u0119ty przenoszeniem danych z pami\u0119ci operacyjnej do przestrzeni wymiany co spowoduje znaczny spadek wydajno\u015bci systemu. Takie nadmierne stronicowanie, kt\u00f3re ma wp\u0142yw na spadek wydajno\u015bci systemu nazywane jest \u015bmieceniem (<em>trashing<\/em>). W takiej sytuacji system dezaktywuje bezczynne procesy i nie pozwala na uruchamianie nowych. Jak tylko w systemie b\u0119dzie dost\u0119pnej wi\u0119cej pami\u0119ci operacyjnej bezczynne procesy s\u0105 ponownie aktywowane i mog\u0105 by\u0107 uruchamiane nowe.<\/p>\n<p><span style=\"color: #3366ff;\">Okre\u015blanie rozmiaru przestrzeni wymiany.<\/span><\/p>\n<p>Stara zasada m\u00f3wi, \u017ce rozmiar swapu nie powinien by\u0107 mniejszy ni\u017c ca\u0142kowity rozmiar pami\u0119ci RAM. Kiedy\u015b zalecane by\u0142o aby swap by\u0142 dwa razy wi\u0119kszy ni\u017c ilo\u015b\u0107 pami\u0119ci operacyjnej, ale by\u0142o to w czasach gdy szczytem marze\u0144 by\u0142 komputer z kilkudziesi\u0119cioma megabajtami pami\u0119ci RAM. Aktualnie standardem jest rozmiar pami\u0119ci operacyjnej wi\u0119kszy ni\u017c 2 GB. W takim wypadku rozmiar partycji wymiany mo\u017ce by\u0107 symboliczny 128-512 MB.<\/p>\n<p>Do okre\u015blania ile pami\u0119ci operacyjnej jest w systemie zainstalowanej, u\u017cywanej i wolnej s\u0142u\u017cy komenda :<\/p>\n<p><code># free -h<\/code><br \/>\n<span style=\"color: #808080;\"><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 total\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 used\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 free\u00a0\u00a0\u00a0\u00a0 shared\u00a0\u00a0\u00a0 buffers\u00a0\u00a0\u00a0\u00a0 cached<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>Mem:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 5,8G\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 5,7G\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 86M\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 185M\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 228M\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 4,8G<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>-\/+ buffers\/cache:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 673M\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 5,2G<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>Swap:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 972M\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 400K\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 972M<\/code><\/span><\/p>\n<p>Opcja <em>-h<\/em> aby wy\u015bwietli\u0107 w \u0142atwiej czytelnym formacie.\u00a0 Inna komenda:<\/p>\n<p><code>#\u00a0 cat \/proc\/meminfo<\/code><br \/>\n<span style=\"color: #808080;\"><code>MemTotal:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 6095264 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>MemFree:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 88156 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>MemAvailable:\u00a0\u00a0\u00a0 5441984 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>Buffers:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 234224 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>Cached:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 5083888 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>SwapCached:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>Active:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2792236 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>Inactive:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2889024 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>Active(anon):\u00a0\u00a0\u00a0\u00a0 427784 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>Inactive(anon):\u00a0\u00a0 125676 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>Active(file):\u00a0\u00a0\u00a0 2364452 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>Inactive(file):\u00a0 2763348 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>Unevictable:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>Mlocked:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>SwapTotal:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 995952 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>SwapFree:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 995552 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>Dirty:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 40 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>Writeback:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>AnonPages:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 363236 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>Mapped:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 219000 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>Shmem:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 190296 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>Slab:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 288756 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>SReclaimable:\u00a0\u00a0\u00a0\u00a0 263024 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>SUnreclaim:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 25732 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>KernelStack:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 3488 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>PageTables:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 13988 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>NFS_Unstable:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>Bounce:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>WritebackTmp:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>CommitLimit:\u00a0\u00a0\u00a0\u00a0 4043584 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>Committed_AS:\u00a0\u00a0\u00a0\u00a0 769936 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>VmallocTotal:\u00a0\u00a0 34359738367 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>VmallocUsed:\u00a0\u00a0\u00a0\u00a0\u00a0 268184 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>VmallocChunk:\u00a0\u00a0 34359337136 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>DirectMap4k:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 7680 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>DirectMap2M:\u00a0\u00a0\u00a0\u00a0 2080768 kB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>DirectMap1G:\u00a0\u00a0\u00a0\u00a0 6291456 kB<\/code><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>\u0106wiczenie 1. Tworzenie i aktywowanie partycji wymiany.<\/p>\n<p><code><\/code>Do okre\u015blenia ile jest wolnego miejsca na dysku mo\u017cna u\u017cy\u0107 <code>lsblk<\/code>. Tworzymy struktury dla przestrzeni wymiany na partycji vdb2:<br \/>\n<code># mkswap \/dev\/vdb2<\/code><br \/>\n<span style=\"color: #808080;\"><code>mkswap: \/dev\/vdb2: warning: wiping old LVM2_member signature.<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>Setting up swapspace version 1, size = 488444 KiB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>no label, UUID=40809164-d5a3-40f7-9862-cce2a6e532ce<\/code><\/span><\/p>\n<p>Tworzymy wolumin logiczny o nazwie <em>swapvol<\/em> i rozmiarze 300MB w grupie wolumin\u00f3w <em>vg10<\/em>:<br \/>\n<code># lvcreate \u2013L 300m \u2013n swapvol vg10<\/code><br \/>\n<span style=\"color: #808080;\"><code>Logical volume \"swapvol\" created<\/code><\/span><\/p>\n<p>Tworzymy struktury dla przestrzeni wymiany na woluminie <em>swapvol<\/em>:<br \/>\n<code># mkswap \/dev\/vg10\/swapvol<\/code><br \/>\n<span style=\"color: #808080;\"><code>Setting up swapspace version 1, size = 307196 KiB<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>no label, UUID=5ccdcb52-fd4b-4409-a5e9-38fa390c20f6<\/code><\/span><\/p>\n<p>W\u0142\u0105czamy partycje swap na partycji i na logicznym woluminie:<br \/>\n<code># swapon \/dev\/vdb2<\/code><br \/>\n<code># swapon \u2013v \/dev\/vg10\/swapvol<\/code><br \/>\n<span style=\"color: #808080;\"><code>swapon \/dev\/vg10\/swapvol<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>swapon: \/dev\/mapper\/vg10-swapvol: found swap signature: version 1, page-size 4, same byte order<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>swapon: \/dev\/mapper\/vg10-swapvol: pagesize=4096, swapsize=314572800, devsize=314572800<\/code><\/span><\/p>\n<p>Potwierdzamy aktywacje partycji swap:<br \/>\n<code># swapon -s<\/code><br \/>\n<code># cat \/proc\/swaps<\/code><\/p>\n<p>Wy\u015bwietlamy statystyki pami\u0119ci wirtualnej:<br \/>\n<code># vmstat<\/code><br \/>\n<span style=\"color: #808080;\"><code>procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>\u00a0r\u00a0 b\u00a0\u00a0 swpd\u00a0\u00a0 free\u00a0\u00a0 buff\u00a0 cache\u00a0\u00a0 si\u00a0\u00a0 so\u00a0\u00a0\u00a0 bi\u00a0\u00a0\u00a0 bo\u00a0\u00a0 in\u00a0\u00a0 cs us sy id wa st<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>\u00a00\u00a0 0\u00a0\u00a0\u00a0 400\u00a0 85880 234588 5084000\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 8\u00a0\u00a0\u00a0 21\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0 0\u00a0 0\u00a0 0 100\u00a0 0\u00a0 0<\/code><\/span><\/p>\n<p>Statystyki w innym formacie:<br \/>\n<code># vmstat -s<\/code><br \/>\n<code>\u00a0\u00a0\u00a0<span style=\"color: #808080;\">\u00a0\u00a0 6095264 K total memory<\/span><\/code><br \/>\n<span style=\"color: #808080;\"><code>\u00a0\u00a0\u00a0\u00a0\u00a0 6010036 K used memory<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>\u00a0\u00a0\u00a0\u00a0\u00a0 2793180 K active memory<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>\u00a0\u00a0\u00a0\u00a0\u00a0 2889804 K inactive memory<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 85228 K free memory<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 234620 K buffer memory<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>\u00a0\u00a0\u00a0\u00a0\u00a0 5084736 K swap cache<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 995952 K total swap<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 400 K used swap<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 995552 K free swap<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>\u00a0\u00a0\u00a0\u00a0\u00a0 3609908 non-nice user cpu ticks<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 526 nice user cpu ticks<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 254512 system cpu ticks<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>\u00a0\u00a0 2552651458 idle cpu ticks<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 889184 IO-wait cpu ticks<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0 IRQ cpu ticks<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 182783 softirq cpu ticks<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0 stolen cpu ticks<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>\u00a0\u00a0\u00a0 211495324 pages paged in<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>\u00a0\u00a0\u00a0 546710848 pages paged out<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0 pages swapped in<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 100 pages swapped out<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>\u00a0\u00a0 2192012598 interrupts<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>\u00a0\u00a0\u00a0 344056037 CPU context switches<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>\u00a0\u00a0 1489606093 boot time<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 644874 forks<\/code><\/span><\/p>\n<p>Dodajemy partycj\u0119 wymiany do pliku<em> \/etc\/fstab<\/em>:<br \/>\n<code># vi \/etc\/fstab<\/code><br \/>\n<span style=\"color: #808080;\"><code>\/dev\/vdb2\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0 swap\u00a0\u00a0 \u00a0swap\u00a0\u00a0 \u00a0defaults\u00a0\u00a0 \u00a00\u00a0\u00a0 \u00a00<\/code><\/span><br \/>\n<span style=\"color: #808080;\"><code>\/dev\/vg10\/swapvol\u00a0\u00a0 \u00a0swap\u00a0\u00a0 \u00a0swap\u00a0\u00a0 \u00a0defaults\u00a0\u00a0 \u00a00\u00a0\u00a0 \u00a00<\/code><\/span><\/p>\n<p>Restartujemy system i weryfikujemy czy partycje swap s\u0105 aktywne.<\/p>\n<p>&nbsp;<\/p>\n<p>\u0106wiczenie 2. Dezaktywujemy i usuwamy przestrzenie wymiany.<\/p>\n<p>Dezaktywacja swapa na partycji <em>vdb2<\/em> i <em>swapvol<\/em>:<br \/>\n<code># swapoff \u2013v \/dev\/vdb2<\/code><br \/>\n<span style=\"color: #808080;\"><code>swapoff \/dev\/vdb2<\/code><\/span><br \/>\n<code># swapoff \/dev\/vg10\/swapvol<\/code><br \/>\n<span style=\"color: #808080;\"><code>swapoff \/dev\/vg10\/swapvol<\/code><\/span><\/p>\n<p>Usuni\u0119cie partycji i logicznego woluminu:<br \/>\n<code># parted \/dev\/vdb rm 2<\/code><br \/>\n<code># lvremove \u2013f \/dev\/vg10\/swapvol<\/code><br \/>\n<span style=\"color: #808080;\"><code>Logical volume \"swapvol\" successfully removed<\/code><\/span><\/p>\n<p>Usuwamy partycje swap z pliku <em>\/etc\/fstab<\/em> i restartujemy system.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Fizyczna pami\u0119\u0107 operacyjna to sko\u0144czony tymczasowy magazyn u\u017cywany do wczytywania j\u0105dra systemu, struktur danych, a tak\u017ce uruchomionych przez u\u017cytkownika program\u00f3w i aplikacji. Przestrze\u0144 wymiany (swap space) to obszar na dysku u\u017cywany do przechowywania nieu\u017cywanych danych a\u017c do momentu gdy s\u0105 potrzebne. System dzieli pami\u0119\u0107 fizyczn\u0105 na mniejsze kawa\u0142ki zwane stronami (pages) i mapuje ich fizyczne &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/miro.borodziuk.eu\/index.php\/2017\/04\/21\/partycja-wymiany-swap\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Przestrze\u0144 wymiany (Swap)&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38],"tags":[],"_links":{"self":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/834"}],"collection":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/comments?post=834"}],"version-history":[{"count":18,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/834\/revisions"}],"predecessor-version":[{"id":1204,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/834\/revisions\/1204"}],"wp:attachment":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/media?parent=834"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/categories?post=834"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/tags?post=834"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}