SSD a odkladací priestor (Swap) v Linuxe

SSD a odkladací priestor (Swap) v Linuxe
15.08.2020 11:21 | Články | Livan

Úvod

SSD majú na rozdiel od HDD okrem vyššej rýchlosti zápisu aj iné vlastnosti, ktoré je dobré v linuxe a nielen tam, brať do úvahy. V nasledujúcom článku sa to pokúsim objasniť a dať odporúčania na ich používanie vo vzťahu k použitiu odkladacieho priestoru v linuxe.

Čo je swap?

Odkladací priestor (swap) umožňuje Linuxu simulovať miesto na disku ako RAM. Keď vášmu systému začne dochádzať pamäť RAM, uloží časť obsahu pamäte RAM na odkladací priestor na disku. Tým sa uvoľní RAM, aby slúžila dôležitejším procesom. Keď je pamäť RAM opäť voľná, nahrá údaje z disku späť do RAM. Swap môže byť taktiež použitý na uspávanie, či hybernáciu.

Odkladací priestor (swap) sa tradične používa ako samostatný oddiel na disku. Pri inštalácii systému Linux vytvoríte samostatný oddiel len ako odkladací priestor. Tento trend sa však v posledných rokoch zmenil hlavne v súvislosti s používaním SSD diskov.

Už na odkladací priestor nepotrebujete samostatný oddiel. Vytvoríte súbor pod rootom a poviete systému, aby ho použil ako odkladací priestor. Na túto zmenu koncepcie sú dva dôvody.

    Prečo mať swap ako súbor?

    Pri tradičnom swap oddiele, pokiaľ potrebujete zmeniť veľkosť odkladacieho priestoru, musíte zmeniť jeho veľkosť, čo môže byť niekedy nočnou morou.

    S odkladacími súbormi sa situácia radikálne mení. Za prvé ich môžete zmeniť podľa svojich predstáv, teda môžete meniť ich veľkosť podľa potreby, môžete ich použiť viacej, prípadne tvoriť a likvidovať za behu.

    Najnovšie verzie Ubuntu a niektoré ďalšie Linuxové distribúcie začali predvolene používať odkladací súbor. Pri inštalácii je tam možnosť nastaviť, či sa má alebo nemá vytvoriť odkladací oddiel. Keď nedáte vytvoríť odkladací oddiel, Ubuntu vytvorí sám o sebe odkladací súbor o veľkosti približne 1-2 GB podľa situácie.

    Ukážme si teda, ako pracovať s odkladacím súborom v linuxe.

    Kontrola odkladacieho priestoru v Linuxe

    Na začiatku je dobré skontrolovať, či už máte odkladací priestor vo vašom systéme k dispozícii a akého je typu, teda či sa jedná o odkladací oddiel, či súbor.

    Môžete to skontrolovať nasledovným príkazom linuxu.

    free -h

    Obrázok 1: Výpis pamäte pomocou príkazu free -h

    Príkaz free vám poskytne informáciu o veľkosťi odkladacieho priestoru ale nepovie vám, či ide o odkladací oddiel alebo odkladací súbor. V tomto ohľade je príkaz swapon lepší.

    swapon --show

    Obrázok 2: Výpis odkladacieho priestoru vo forme oddielu

    Ako vidíte, mám 4,6 GB odkladacieho priestoru a je na samostatnom oddieli. Keby to bol odkladací súbor, typ by bol súbor (file) namiesto oddielu (partition).


    Obrázok 3: Výpis odkladacieho priestoru vo forme súboru

    Ak vo svojom systéme nemáte odkladací priestor, mal by príkaz free ukazovať niečo takéto:

    free -h
                  total        used        free      shared  buff/cache   available
    Mem:           7.5G        4.1G        267M        971M        3.1G        2.2G
    Swap:           0B          0B         0B

    Príkaz swapon nebude zobrazovať žiadny výstup.

    Vytvorenie swap súboru v Linuxe

    Ak váš systém nemá odkladací priestor alebo si myslíte, že odkladací priestor nie je dostatočný, môžete v systéme Linux vytvoriť odkladací súbor. Môžete tiež vytvoriť viac odkladacích súborov.

    Pozrime sa, ako vytvoriť odkladací súbor v systéme Linux.

    Krok 1: Vytvorenie nového swap súboru

    Najprv vytvorte súbor s veľkosťou požadovaného odkladacieho priestoru. Povedzme, že chcem do môjho systému pridať 1 GB odkladacieho priestoru. Pomocou príkazu fallocate vytvorte súbor s veľkosťou 1 GB.

    sudo fallocate -l 1G /swapfile

    Do odkladacieho súboru sa odporúča čítať a zapisovať iba ako root. Keď sa pokúsite použiť tento súbor pre odkladací priestor, uvidíte dokonca varovanie ako „nezabezpečené povolenia 0644, odporúčané číslo 0600“.

    sudo chmod 600 /swapfile

    Nezabudnite, že názov odkladacieho súboru môže byť ľubovoľný. Ak potrebujete viac odkladacích priestorov, môžete mu dať akýkoľvek vhodný názov, napríklad swap_file_1, swap_file_2 atď. Je to iba súbor s preddefinovanou veľkosťou.

    Krok 2: Označenie nového súboru ako swap priestor

    Potrebujete povedať systému Linux, že tento súbor bude použitý ako odkladací priestor. Môžete to urobiť pomocou nástroja mkswap.

    sudo mkswap /swapfile

    Mali by ste vidieť takýto výstup:

    Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
    no label, UUID=7e1faacb-ea93-4c49-a53d-fb40f3ce016a

    Krok 3: Povolenie swap súboru

    Teraz váš systém vie, že súbor swapfile môže byť použitý ako odkladací priestor. Ale ešte sa tak nestalo. Musíte to povoliť, aby váš systém mohol začať tento súbor používať ako odkladací priestor.

    sudo swapon /swapfile

    Ak teraz skontrolujete odkladací priestor, mali by ste vidieť, že váš systém Linux ho rozpoznáva a používa ako oblasť swapu:

    swapon --show
    NAME       TYPE   SIZE USED PRIO
    /swapfile  file 1024M   0B   -2

    Krok 4: Vytvorenie zmien trvalými

    Čokoľvek ste doteraz urobili, je iba dočasné. Reštartujte systém a všetky zmeny zmiznú. Zmeny môžete urobiť trvalé pridaním novo vytvoreného odkladacieho súboru do súboru /etc/fstab.

    Pred vykonaním akýchkoľvek zmien v súbore / etc / fstab je vždy vhodné zálohovať.

    sudo cp /etc/fstab /etc/fstab.back

    Teraz môžete na koniec súboru /etc/fstab pridať nasledujúci riadok:

    /swapfile none swap sw 0 0

    Môžete to urobiť ručne pomocou textového editora príkazového riadku

    sudo nano /etc/fstab

    a na koniec pridáte vyššie spomínaný riadok alebo stačí použiť nasledujúci príkaz:

    echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

    Teraz máte všetko na svojom mieste. Váš odkladací súbor sa použije aj po reštartovaní systému Linux.

    Nastavenie hodnoty swappiness

    Parameter swappiness určuje, ako často by sa mal swapový priestor využívať. Hodnota swappiness sa pohybuje od 0 do 100. Vyššia hodnota znamená, že swapovací priestor bude využívaný častejšie.

    Predvolená hodnota swappiness na pracovnej ploche Ubuntu alebo LM býva 60. Túto hodnotu môžete skontrolovať pomocou nasledujúceho príkazu:

    cat /proc/sys/vm/swappiness

    Pre SSD je z hľadiska jeho životnosti dôležité, aby sa swap používal čo najmenej a taktiež z dôvodu, že swap je pomalší ako RAM a pre lepší výkon by sa RAM mala využívať v čo najväčšej miere.

    Swappiness môžete zmeniť za chodu (na linuxoch, ktoré používajú systemd) pomocou nasledujúceho príkazu systemd:

    sudo sysctl vm.swappiness=10

    To však zmení jej hodnotu iba dočasne. Ak chcete, aby bola zmena trvalá, môžete upraviť súbor /etc/sysctl.conf a na koniec súboru pridať hodnotu swappiness:

    vm.swappiness=10

    Na otvorenie súboru /etc/sysctl.conf k editácii použite napr. tento príkaz:

    sudo nano etc/sysctl.conf

    Hodnota swappines=10 znamená, že sa swap začne používať, až teď je obsadených 90 % RAM. Toto je pre prípad používania SSD odporúčaná štartovacia hodnota. Samozrejme, pokiaľ by sa z nejakého dôvodu pri používaní ukázalo, že je táto hodnota príliš nízka, vždy sa dá zvýšiť.

    Zmena veľkosti swap súboru v Linuxe

    Existuje niekoľko spôsobov, ako zmeniť veľkosť odkladacieho súboru v systéme Linux. Ale predtým, ako to uvidíte, mali by ste vedieť niekoľko vecí.

    Keď požiadate systém, aby prestal používať swap súbor ako odkladací priestor, prenesie všetky údaje späť do pamäte RAM. Pred výmenou by ste teda mali mať dostatok voľnej pamäte RAM.

    Preto je dobré vytvoriť a povoliť ďalší dočasný odkladací súbor. Týmto spôsobom pri výmene pôvodnej odkladacej oblasti váš systém použije dočasný odkladací súbor. Teraz môžete zmeniť veľkosť pôvodného odkladacieho súboru. Dočasný odkladací súbor môžete nasledovne manuálne odstrániť alebo ho nechať tak, ako je, a pri ďalšom štarte sa automaticky odstráni.

    Ak máte dostatok voľnej pamäte RAM alebo ak ste vytvorili dočasný odkladací priestor, odložte pôvodný súbor.

    sudo swapoff /swapfile

    Teraz môžete pomocou príkazu fallocate zmeniť veľkosť súboru. Povedzme, že zmeníte veľkosť na 2 GB:

    sudo fallocate -l 2G /swapfile

    Teraz tento súbor označte ako odkladací priestor:

    sudo mkswap /swapfile

    A znova zapnite swap:

    sudo swapon /swapfile

    Môžete sa tiež rozhodnúť mať viac odkladacích súborov súčasne.

    Odstránenie swap súboru v Linuxe

    Možno máte dôvody, prečo ste v systéme Linux nepoužili odkladací súbor. Ak ho chcete odstrániť, proces je podobný procesu, ktorý ste práve videli pri zmene veľkosti swapu. Najprv sa uistite, že máte dostatok voľnej pamäte RAM. Teraz odložte súbor:

    sudo swapoff /swapfile

    Ďalším krokom je odstránenie príslušnej položky zo súboru /etc/fstab.

    A nakoniec môžete súbor odstrániť, aby ste uvoľnili miesto:

    sudo rm /swapfile

    Zhrnutie

    Pokiaľ v linuxe používam SSD, je pre životnosť SSD výhodné nasledovné:

    1. Použitie swap súboru miesto swap oddielu
    2. Nastavenie swappiness na nižšiu hodnotu, než býva štandardne. Odporúča sa pre začiatok nastaviť swappiness=10.

    Podklady k článku som čerpal najmä tu:

    https://help.ubuntu.com/community/SwapFaq
    https://itsfoss.com/create-swap-file-linux/
    • RE: SSD a odkladací priestor (Swap) v Linuxe 15.08 | 13:28
      Avatar Pavel KDE neon  Administrátor

      Pekný článok, asi sa kus nechám inšpirovať. Štandardne vytváram 4 GB swap oddiel pri každej inštalácii Linuxu ešte podľa vzoru starej školy.

      • RE: SSD a odkladací priestor (Swap) v Linuxe 15.08 | 13:40
        Avatar Livan Manjaro, Arch, všetko s XFCE  Používateľ

        Priznám sa bez mučenia, aj ja som donedávna používal swap oddiel. Avšak pri príležitosti poslednej skúšobnej inštalácie Ubuntu som si všimol v inštalátore možnosť vynechať swap oddiel, čo ma zaujalo. Začal som to trošku skúmať a článok je výsledkom toho môjho prieskumu.

        • RE: SSD a odkladací priestor (Swap) v Linuxe 15.08 | 13:49
          Avatar Pavel KDE neon  Administrátor

          Nastavenie vm.swappiness=10 som už postrehol v pár článkoch, ono teoreticky ten swap pri 8 GB ramke a štandardných aplikáciách možno naozaj ani nie je potrebný, či?

          • RE: SSD a odkladací priestor (Swap) v Linuxe 15.08 | 14:01
            Avatar Livan Manjaro, Arch, všetko s XFCE  Používateľ

            Teoreticky áno. Pokiaľ však chceš pc uspávať a hybernovať, swap potrebuješ, navyše niektoré programy si swap vyžadujú a spoliehajú sa naň. Každopádne sa veľkosť swapu pri veľkej RAM a pokiaľ nehybernuješ, môže urobiť malá (iba 1 až 2 GB).

            • RE: SSD a odkladací priestor (Swap) v Linuxe 15.08 | 14:27
              Avatar bedňa LegacyIce-antiX  Administrátor

              Jako fakt som nepátral, ale nevytvárajú si dnes swap distribúcie sami pri uspávaní ak ho nemáš?

              Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
              • RE: SSD a odkladací priestor (Swap) v Linuxe 15.08 | 14:35
                Avatar Livan Manjaro, Arch, všetko s XFCE  Používateľ

                Tak o tom dosť pochybujem, že by si distribúcia, ktorá nemá pri inštalácii vytvorený swap (či už oddiel alebo súbor), pri uspatí alebo hybernácii si ho sama vytvorila. Taký arch linux a od neho odvodené distribúcie to samy neurobia (urobia iba to, čo im implicitne prikážeš) a pochybujem, že iné distribúcie áno. Ak niekto má iné informácie, rád sa nechám poučiť.

                • RE: SSD a odkladací priestor (Swap) v Linuxe 15.08 | 15:21
                  Avatar bedňa LegacyIce-antiX  Administrátor

                  Niekde som to zachytil, že keď nemáš swap, tak sa automaticky pri uspávaní vytvorí swap súbor a uspí sa tam. Možno išlo len o vychytávku nejakej distribúcie.

                  Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
                  • RE: SSD a odkladací priestor (Swap) v Linuxe 15.08 | 15:26
                    Avatar Livan Manjaro, Arch, všetko s XFCE  Používateľ

                    Jediné, čo viem určite je, že Ubuntu v posledných verziách (a zrejme aj od neho odvodený LM) má pri inštalácii možnosť zvoliť, či sa má vyhradiť priestor pre oddiel swap. Pokiaľ sa zvolí nevytvárať, sám vytvorí swap súbor namiesto swap oddielu. Teda po inštalácii tam už ten swap súbor existuje.

                    • RE: SSD a odkladací priestor (Swap) v Linuxe 15.08 | 15:39
                      Avatar bedňa LegacyIce-antiX  Administrátor

                      Dík, to bude ono.

                      Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
                • RE: SSD a odkladací priestor (Swap) v Linuxe 15.08 | 15:29
                  Avatar Livan Manjaro, Arch, všetko s XFCE  Používateľ

                  Pardon, vloudila sa chybička v použitom výraze, správne je (urobia iba to, čo im explicitne prikážeš).

    • RE: SSD a odkladací priestor (Swap) v Linuxe 15.08 | 14:25
      Avatar vxmery Mint 19.3 Cinnamon  Administrátor

      Patrím medzi staré kúsky, 1.5 x RAM ako partícia, nemám SSD. Vďaka za pekný článok Livan.

    • RE: SSD a odkladací priestor (Swap) v Linuxe 15.08 | 14:52
      Avatar Branislav Poldauf Manjaro, Debian stable  Používateľ

      veľmi pekný článok

      ja osobne swap uz roky ignorujem, keďže na všetkých strojoch mám 8 a viac GB ramky a hibernaciu nevyuzivam (vzdy len suspend to ram) a všade mám SSD (kde viem že swap znižuje jeho životnosť)

      ale teraz po prečítaní článku uvazujem ze si vytvorim swap subory (keby náhodou)

      Linux: the operating system with a CLUE... Command Line User Environment
    • RE: SSD a odkladací priestor (Swap) v Linuxe 15.08 | 15:53
      Avatar mark   Používateľ

      Tiež nepoužívam swap. RAMky mám dosť, ale aj tak môj Intel SSD ide do čerta. Pravidelne mi začal realokovať sektory. Je síce pravda, že sú tam 3 partície (2 Win, 1 pre Linux), ale zároveň trvalo aj viac než polovica prázdneho miesta... nechápem. Podľa smartctl a popisu od Intelu mám prepisov menej než 500GB... Taká pokazená radosť.

      • RE: SSD a odkladací priestor (Swap) v Linuxe 16.08 | 00:43
        Avatar redhawk75 mx19, galliumos, antiX, Devuan,  Používateľ

        mne odpalil 120GB SSD Ubuntu. (po 9mesiacoch)

        k clanku. pouzivam Swap particiu 2GB (neuspavam) a swappiness na 5 (kedysi som mal na LM. cz o tom clanok preco) v skratke 1O% ram je pri 16GB stale vela, 5% je to stale dost na bezne veci 

        Na MX linuxe ale nie je swap vyuzivany pokial nerobim s velkou fotkou a aj to nie je viac nez 15- 20% zo swapu (2GB)

        problem na ubu a jeho klonoch je ze aj ked je swapoff si vytvori swapfile. 

        • RE: SSD a odkladací priestor (Swap) v Linuxe 16.08 | 08:29
          Avatar Livan Manjaro, Arch, všetko s XFCE  Používateľ

          Podľa jedného z článkov, ktoré som pred napísaním článku čítal, býva u serverov bežná hodnota swappiness=1. Ten článok som neuviedol. pretože sa týkal odporúčaných veľkostí swapu a článok je trochu o inom. Prečo si redhawk75 myslíš, že vytvorenie swapfile je problém?

          • RE: SSD a odkladací priestor (Swap) v Linuxe 16.08 | 18:20
            Avatar redhawk75 mx19, galliumos, antiX, Devuan,  Používateľ

            ano bezne sa odporuca swappines 1 pre server

            dalsia vec je swapfile pomalsie (otestovane na xubuntu) 

            taktiez je divne mat swapfile na 32GB ram kde mi na 256GB ssd xubuntu urobi swapfile o rovnakej velkosti. aj pri nastaveni swappines 5 a podla conky mam max obsadenu ram do 18-20GB (cize cca 1/3 ram volnej) je to nonsens

            MX linux s tym nema problem ked vypnem swap nevytvori swapfile (devuan, bunsenlabs, deepin taktiez)

            • RE: SSD a odkladací priestor (Swap) v Linuxe 17.08 | 14:04
              Avatar Livan Manjaro, Arch, všetko s XFCE  Používateľ

              Rýchlosť swapfile by mala byť rovnaká, ako swap partícia, za predpokladu, že swapfile nie je fragmentovaný. Pri SSD fragmentácia nehrá roľu, takže tam by to malo byť OK a rýchlosť rovnaká (dá sa to vyhľadať). Problém s rýchlosťou by mohol nastať pri fragmentovanom swapfile na HDD. Pri veľkej RAM, pokiaľ nepoužívam hybernáciu a swappiness nastavím na 10, sa veľkosť swap zvykne odporúčať iba cca 1-2 GB.

    • RE: SSD a odkladací priestor (Swap) v Linuxe 15.08 | 19:52
      Avatar benson   Návštevník

      Diky, super clanok. Skor zo zvyku davam swap 1:1 ako ram, aj pri ssd, hoci vacsinou uzivam 16+ GB kvoli virtualkam, a hibernaciu skoro vobec. Cas prejst na tento swapfile sposob. Paci sa mi, ako mkswap+swapon pracuje so suborom / particiou rovnako.

    • RE: SSD a odkladací priestor (Swap) v Linuxe 16.08 | 11:17
      Avatar debian+   Návštevník
      Použitie swap súboru miesto swap oddielu

      Preco?

      • RE: SSD a odkladací priestor (Swap) v Linuxe 16.08 | 12:15
        Avatar Livan Manjaro, Arch, všetko s XFCE  Používateľ

        Ešte raz si prečítaj tie dve odrážky v článku, tam je to vysvetlené. Hlavne ide o wear leveling disku. Pokiaľ je swap vo forme swapfile, wear leveling sa rozprestrie na celú kapacitu SSD, u oddielu sa wear leveling rozprestrie iba na tento relatívne malý oddiel.

        • RE: SSD a odkladací priestor (Swap) v Linuxe 16.08 | 13:23
          Avatar debian+   Návštevník

          Pridaj predtym nejaky podnadpis, kde dalej o tom pises.

          • RE: SSD a odkladací priestor (Swap) v Linuxe 17.08 | 09:21
            Avatar Wut   Návštevník

            Mas pokazeny lorem ipsum.

          • RE: SSD a odkladací priestor (Swap) v Linuxe 17.08 | 10:35
            Avatar Branislav Poldauf Manjaro, Debian stable  Používateľ

            takže ty nielen že nevieš písať ale ty nevieš ani čítať, ideálny internetový trol

            Linux: the operating system with a CLUE... Command Line User Environment
            • RE: SSD a odkladací priestor (Swap) v Linuxe 17.08 | 16:41
              Avatar debian+   Návštevník

              Poznas pojem rychle citanie? A detailnejsie citam co ma zaujme. Tym ze to neodelil nadpisom, tak som predpokladat, ze pokracoval obsahom dalej, aky bol pred tym jehom odsekom.

              • RE: SSD a odkladací priestor (Swap) v Linuxe 17.08 | 20:03
                Avatar Branislav Poldauf Manjaro, Debian stable  Používateľ

                rýchle čítanie neznamená že preskočis pol textu a vymýšľaš si čo tam bolo, ale že sa naučíš čítať bez toho aby si si text v hlave hovoril a dokázal vnímať slová a vety ako celok nie po písmenách

                ale ty by si si mal pod textom chodiť prstom ako prvák, lebo s čítaním a písaním si na úrovni základnej školy

                a ešte máš tu drzosť sa snažiť poučovať o tom kde ma byť aký nadpis keď nevieš napísať 2 súvislé vety

                Linux: the operating system with a CLUE... Command Line User Environment
                • RE: SSD a odkladací priestor (Swap) v Linuxe 17.08 | 22:08
                  Avatar Pavel KDE neon  Administrátor

                  Čože to, ale Wlasaty nám niekam zdrhol,,,

                  • RE: SSD a odkladací priestor (Swap) v Linuxe 18.08 | 07:51
                    Avatar Branislav Poldauf Manjaro, Debian stable  Používateľ

                    este debiliana nejak utlmiť a znovu to tu môže byť celkom kľudný portál (lebo samalama nebude mať veľmi na koho reagovať)

                    Linux: the operating system with a CLUE... Command Line User Environment
    • RE: SSD a odkladací priestor (Swap) v Linuxe 16.08 | 14:00
      Avatar bb   Návštevník

      Trochu sa mi nezda ten druhy dovod (wearing)

      1. Aky je rozdiel ci je subor fixne alokovany particiou alebo filesystemom?
      2. SSD nic nevie particiach
      3. SSD interne vzdy zapise na ine miesto, prave preto aby sa optimalizoval wearing.

      Swap particie nepouzivam, ale netreba si vymyslat dovody. Ak sa mylim opravte ma.

      • RE: SSD a odkladací priestor (Swap) v Linuxe 16.08 | 14:35
        Avatar Livan Manjaro, Arch, všetko s XFCE  Používateľ

        Ja sice úplne presne neviem, ako je to realizované v praxi, avšak tak nejako logicky mi vychádza nasledovné. To, že disky vedia pracovať s partíciami je fakt. To že vedia vyhradiť pre každú partíciu jej typ, umiestnenie a veľkosť je taktiež fakt. Pokiaľ by wear leveling prepisoval bunky úplne náhodne v rámci celého disku, potom by dochádzalo k totálnemu chaosu, kde by jednotlivé súbory boli pozapisované kdekoľvek v rámci disku a mohlo by dochádzať aj k zápisom mimo určenú partíciu, nie? Potom by jeden súbor mohol byť zapísaný aj v rámci všetkých dostupných partícií. A to sa mi nezdá. Logickejšie je, že to robí iba v rámci svojej partície. Samozrejme sa môžem mýliť. Touto úvahou som vlastne zodpovedal všetky tri body z tvojho príspevku.

        • RE: SSD a odkladací priestor (Swap) v Linuxe 16.08 | 19:43
          Avatar bb   Návštevník

          wear leveling je prave funkcia, ktora zabezpecuje mapovanie medzi tym ako vidi usporiadane data system a ako su realne ulozene vo flash pamatiach. wear leveling sa snazi rovnomerne pouzivat vsetky sektory na flash cipoch. Zjednodusene, ked pride poziadavka na prepisanie sektoru, ssd zapise nove data na iny (volny, najmenej pouzivany) sektor a povodny sektor oznaci ako volny. Tato zmena je nasledne ulozena do "mapovacej tabulky"

          • RE: SSD a odkladací priestor (Swap) v Linuxe 17.08 | 07:00
            Avatar Livan Manjaro, Arch, všetko s XFCE  Používateľ

            Čím viacej o tom premýšľam, tým viacej som presvedčený, že wear leveling zapisuje iba v rámci svojej partície. SSD si pri vytváraní partícií urobí zápis, ktoré bloky patria akej partícii a ako sú naformátované. Musí teda mať o nich prehľad. Pokiaľ si pri zápisu blokou dodržím partíciu, nič sa nedeje, všetko funguje, ako má. Pokiaľ by som zapísal mimo partíciu, jednak nemusí sedieť formátovanie a navyše mi ubudne na tej partícii, odkiaľ použil blok, voľné miesto. Tak by sa mohlo stať, že pri zápise do swapu mi bude ubúdať miesto v inej partícii, čo je nezmysel. Aby to sedelo, musel by wear leweling zároveň presunúť jeden voľný blok z swap partície do tej druhej. Lenže jedna má formátovanie ext4 a druhá swap. Musel by teda zároveň aj preformátovávať a mať presný prehľad o jednotlivých blokoch a ich príslušnosti k svojim partíciám. Nemôže teda platiť, že SSD nič nevie o particiach.

            • RE: SSD a odkladací priestor (Swap) v Linuxe 17.08 | 10:50
              Avatar mprasil   Používateľ

              Disk samotny o particiach nevie absolutne nic. (aspon sa to teda nepredpoklada, jedine ze by firmware sam od seba nacitaval MBR/GPT disku, ale to je nepravdepodobne) Ked sa nad tym logicky zamyslis, musel by poznat vsetky mozne formaty particie (inak nevie ci je dane miesto volne) a tiez by si napriklad nemohol zmenit format disku z MBR na GPT bez toho aby si sa predtym neuistil, ze dany format podporuje. Takisto take ZFS alebo BTRFS pouziva priamo cely disk a "particie" v nom nemaju pevnu velkost.

              Tiez je fakt, ze standardne (okrem velmi lacnych SSD) maju disky o nieco viac kapacity ako navonok prezentuju a prave to extra volne miesto pouzivaju na wear leveling. Podla tvojej logiky by to miesto nemohli pouzit, lebo nemas ako vytvori particiu v casti disku ktory ako pouzivatel nevidis.

              Je to ako pise bb:

              Zjednodusene, ked pride poziadavka na prepisanie sektoru, ssd zapise nove data na iny (volny, najmenej pouzivany) sektor a povodny sektor oznaci ako volny. Tato zmena je nasledne ulozena do "mapovacej tabulky"

              Disk samotny neriesi co je konkretne ulozene na disku, jedine co ho zaujima je volne miesto ktore moze pouzit. Prave na to sluzi funkcia TRIM. Cize operacny system samotny musi rozumiet ako filesystem funguje a kde ma particie a adekvatne tieto informacie cez TRIM posunut disku ktory potom riesi wear leveling.

              IMO by v tomto ohlade nemal byt zasadny rozdiel medzi particiou a swapom v subore (ked predpokladame ze aj swap aj filesystem kde je subor podporuju TRIM) a jediny zasadny rozdiel zrejme spravi ten swapiness.

              Tie ostatne vyhody ako vacsia flexibilita co do velkosti swapu samozrejme stale platia.

              • RE: SSD a odkladací priestor (Swap) v Linuxe 17.08 | 12:27
                Avatar Livan Manjaro, Arch, všetko s XFCE  Používateľ
                Tiez je fakt, ze standardne (okrem velmi lacnych SSD) maju disky o nieco viac kapacity ako navonok prezentuju a prave to extra volne miesto pouzivaju na wear leveling. Podla tvojej logiky by to miesto nemohli pouzit, lebo nemas ako vytvori particiu v casti disku ktory ako pouzivatel nevidis.

                Tak v tomto sa mýliš, to extra voľné miesto sa používa na zámenu v prípade, ak dôjde k znefunkčneniu jednej bunky, čiže je to taký sklad náhradných buniek, ktoré sa zamenia za zlyhanú. Tých však nie je veľa a wear leveling sa cez ne určite nerieši. Však pokiaľ máš denný zápis napr. 10 GB, veľmi rýchlo by si o tie záložné bunky prišiel. To čo tu riešime je to, či sa wear leveling rozprestiera cez celý disk alebo iba v rámci tej jednej partície, kde prebieha zápis. Dôvody, prečo sa domnievam, že v rámci iba jednej partície, som uviedol vyššie.

                • RE: SSD a odkladací priestor (Swap) v Linuxe 26.08 | 14:54
                  Avatar mprasil   Používateľ
                  Tak v tomto sa mýliš, to extra voľné miesto sa používa na zámenu v prípade, ak dôjde k znefunkčneniu jednej bunky

                  Nie nemylim. Pouziva sa to aj ako wear leveling, lebo SSD zapis sa prakticky zacina spomalovat uz niekde okolo 50% realnej kapacity disku. Preto kvalitnejsie SSD maju overprovisioning az niekde na urovni 30%.

                  Seagate ten princip, dovody a nejake technicke detaily celkom pekne popisuje tu.

                  Ked som robil v datacentre, tak sme casto nastavovali cez firmware ten overprovisioning este vyssie (prakticky az niekde na 50% kapacity) a nebolo to koli vadnym blokom, ale prave pre rychlost zapisu - hlavne ked sa vyuzitie disku (z pohladu operacneho systemu) blizilo 100%.

            • RE: SSD a odkladací priestor (Swap) v Linuxe 17.08 | 13:38
              Avatar bb   Návštevník
              SSD si pri vytváraní partícií urobí zápis, ktoré bloky patria akej partícii a ako sú naformátované. Musí teda mať o nich prehľad.

              Odkial ziska SSD prehlad o particiach? Ako pisal mprasil, nema odkial (ssd nepozan MPB/GPT/...).

              Pokiaľ by som zapísal mimo partíciu, jednak nemusí sedieť formátovanie a navyše mi ubudne na tej partícii, odkiaľ použil blok, voľné miesto.

              Prave v tom je ten vtip, ze sa neubera miesto z konkretnej particie, ale pouzije sa miesto z celeho disku. Pre lepsie pochopenie, toto sa deje len vo vnutri SSD a operacny system o tom uz nema ziadnu informaciu. To je to co som uz pisal, ze SSD ma este mapovaciu tabulku, aby vedel, ktory sektor adresaovany operacnym system je mapovany na fyzicky sektor flash pamate v SSD. A ta mapovacia tabulka sa meni kadzym zapisom.

              Priklad: Pociatcony stav:

              Mapovacia tabulka:
              OS sektor 1 => Flash sektor 100
              OS sektor 2 => Flash sektor 200
              OS sektor 3 => Flash sektor 300
              volne sektory: 400,401,402
              

              OS posle zapis do sektoru 1 (flash sektor 100 sa uvolni a zapise sa sektor 400)

              Mapovacia tabulka:
              OS sektor 1 => Flash sektor 400
              OS sektor 2 => Flash sektor 200
              OS sektor 3 => Flash sektor 300
              volne sektory: 100,401,402
              

              OS posle zapis do sektoru 3 (flash sektor 300 sa uvolni a zapise sa sektor 401)

              Mapovacia tabulka:
              OS sektor 1 => Flash sektor 400
              OS sektor 2 => Flash sektor 200
              OS sektor 3 => Flash sektor 401
              volne sektory: 402,100,300
              

              A prave waer leveling definuje ako sa pouzivaju volne sektory (hlavne na zaklade toho ktory bol kolko krat pouzity) volne sektory su taktiez vytvarane funkciou TRIM (napriklad ked sa subor vymaze, tak to OS oznami disku, ze priradene sektory uz nie su potrebne)

              • RE: SSD a odkladací priestor (Swap) v Linuxe 17.08 | 14:12
                Avatar Livan Manjaro, Arch, všetko s XFCE  Používateľ

                Dobre teda, druhý dôvod na tvorbu swapfile, ktorý je uvedený v článku je teda sporný. Dám článok teda upraviť. Keďže je swapfile na SSD rovnako rýchly, ako swap partícia, je lepšie použiť swapfile pre možnosť jej úprav (tvorba, zmena veľkosti, pripájanie a odpájanie, rušenie) za behu OS.

                • RE: SSD a odkladací priestor (Swap) v Linuxe 18.08 | 00:08
                  Avatar debian-   Návštevník

                  Tvoje upravy vies robit za behu aj pri swap particii. Je rok 2020 a LVM je tu s nami uz dost dlho..

                  • RE: SSD a odkladací priestor (Swap) v Linuxe 21.08 | 09:22
                    Avatar bedňa LegacyIce-antiX  Administrátor

                    Nie každý chce ďalšiu medzi vrstvu keď to nie je nevyhnutné.

                    Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
                • RE: SSD a odkladací priestor (Swap) v Linuxe 20.08 | 18:09
                  Avatar bedňa LegacyIce-antiX  Administrátor

                  Trochu som ho upravil.

                  Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
                  • RE: SSD a odkladací priestor (Swap) v Linuxe 01.09 | 19:21
                    Avatar Livan Manjaro, Arch, všetko s XFCE  Používateľ

                    Dík.

                    • RE: SSD a odkladací priestor (Swap) v Linuxe 01.09 | 20:22
                      Avatar bedňa LegacyIce-antiX  Administrátor

                      Nie je zač.

                      Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
    • RE: SSD a odkladací priestor (Swap) v Linuxe 16.08 | 14:08
      Avatar ra100   Návštevník

      po urcitych problemoch po upgrade a reinstalacii celeho linuxu som zacal pouzivat file swap, na miesto oddielu a vytvoril som ho az po nahodeni celeho systemu.

      problem nastaval pri reinstalacii na novsi os, ked swap zo stareho os bol zavedeny pocas reinstalacie, a novy swap reinstalacka nechcela vytvorit, lebo...

      ked som v cmd odnadstavil swap a vratil sa znova do GUI na reinstalacke k rozdeleniu diskov, vsetko bolo rozhadzane a sproste, bez moznosti pokracovania.

      takze restart a odznova az k vytvoreniu swap file po dokonceni upgrade.

      • RE: SSD a odkladací priestor (Swap) v Linuxe 16.08 | 14:38
        Avatar Livan Manjaro, Arch, všetko s XFCE  Používateľ

        Zrejme sa jedná o nedokonalosť inštalačného programu, riešením by zrejme bolo pred reinštaláciou starý swap súbor odpojiť a odstrániť.

        • RE: SSD a odkladací priestor (Swap) v Linuxe 18.08 | 11:36
          Avatar ra100   Návštevník

          Hejhej.

          Akurat, ked to clovek nevie, tak sa zapoti a pekne si zanadava.

    • RE: SSD a odkladací priestor (Swap) v Linuxe 17.08 | 22:43
      Avatar samalama   Návštevník

      take pre linuxos typicke - sice tomu nerozumiem, ale napisem o tom clanok (keby aspon len ako blog). povodne som sa chcel vyjadrit k jednotlivym bodom, ale to by toho bolo asi viac ako v samotnom clanku, takze to len zhrniem - AK SI NECHCETE UROBIT HANBU A "UCIT" NEZNALYCH TOTALNE BLUDY, TAK TO CELE ZRUSTE. hlavne tie livan-ove komentare - to su totalne absurdity. sice nevie, ale aj tak napise a este sa bude hadat...

      • RE: SSD a odkladací priestor (Swap) v Linuxe 18.08 | 13:19
        Avatar okl   Návštevník

        mohol by si sa vyjadrit aspon by to malo cele nejaky zmysel pre citatelov

        • RE: SSD a odkladací priestor (Swap) v Linuxe 18.08 | 15:28
          Avatar Branislav Poldauf Manjaro, Debian stable  Používateľ

          suhlasim, aspon v skratke, nech si to aspoň nasmeruje tých čo to zaujíma

          lebo povedať že to je celé zle to je len mudrovanie a vieme že ty keď chcel vieš dať aj plnohodnotne prínosný príspevok

          Linux: the operating system with a CLUE... Command Line User Environment
          • RE: SSD a odkladací priestor (Swap) v Linuxe 18.08 | 17:22
            Avatar samalama   Návštevník

            skus si pohladat, ako funguje mapovanie blokov filesystem <-> ssd a pochopis, ze 99% tu pisal totalne bludy...

            btw trim na swapfile?! skus si urobit swap na sparse subore...

            • RE: SSD a odkladací priestor (Swap) v Linuxe 27.08 | 17:25
              Avatar debian+_debian+   Návštevník

              Nemas nejake linky?

              • RE: SSD a odkladací priestor (Swap) v Linuxe 01.09 | 22:58
                Avatar samalama   Návštevník

                linky nemam, nemalujem sa...

      • RE: SSD a odkladací priestor (Swap) v Linuxe 27.08 | 21:26
        Avatar debian+_debian+   Návštevník

        napr. ak mas swap file (v porovnani s odielom) - vecsia rezia - kedze subor moze menit velkost. Kazdy citanie = zapis. Tj. musis este zapisat cas posledneho pristupu k suboru. Nutne pouzivat ext ovladac. Nehovoriac zdrziavanie so zapisom na journal.