Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Hibernace bez swapu  (Přečteno 20226 krát)

Abby

  • Stálý člen
  • **
  • Příspěvků: 1350
Hibernace bez swapu
« kdy: 05 Listopadu 2020, 17:44:16 »
Jde to? Jak? Disk ve formátu btrfs, uspání funguje, hibernace ne. Swap oddíl nemám, s 16 GB RAM mi přijde zbytečný, jen zabírá místo, které se dá využít lépe. Jak to nastavit do souboru? Jiné OS to umí, nepochybuju, že to umí i Linux. Díky za radu.

Ventero

  • Závislák
  • ***
  • Příspěvků: 3579
Re:Hibernace bez swapu
« Odpověď #1 kdy: 05 Listopadu 2020, 20:15:58 »
Prvně bych zjistil, jestli už swapfile existuje
Kód: [Vybrat]
sudo swapon --showPokud ano, tak třeba nastavit na velikost něco více, než komplet RAM a pokud není tak tvorba - postup je stejný:
Kód: [Vybrat]
sudo swapoff -a
sudo fallocate -l xxG /swapfile   # xx je velikost, G je giga
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon --show
Existuje ještě podpora pro swapfile - měla by pohodlněji manažovat jeho velikost, popř, kdyby něco selhávalo z předchozích příkazů, tak bych instaloval
Kód: [Vybrat]
sudo apt install swapspacePokud se přechází ze swappart tak ještě třeba upravit zápis v fstab
Kód: [Vybrat]
sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Hibernace zde:
https://forum.ubuntu.cz/index.php/topic,84942.msg570684.html#msg570684

Kdyžtak někdo doplní, pokud už to není přesné s tím odkazem na hibernaci - asi bude záležet, o jaký OS se jedná - novější verze už to třeba mají v sobě ..
« Poslední změna: 25 Listopadu 2020, 01:17:19 od Ventero »
Zvuky jsou mantrami a myšlenky moudrostí, prostě proto, že se mohou objevovat ...

Abby

  • Stálý člen
  • **
  • Příspěvků: 1350
Re:Hibernace bez swapu
« Odpověď #2 kdy: 05 Listopadu 2020, 20:30:41 »
Děkujuuu :) jdu na to.

Abby

  • Stálý člen
  • **
  • Příspěvků: 1350
Re:Hibernace bez swapu
« Odpověď #3 kdy: 05 Listopadu 2020, 21:20:33 »
Tak příkaz sudo swapon /swapfile končí takto:

swapon: /swapfile: swapon selhal: Nepřípustný argument

Nějaká rada co s tím?

juwa2

  • Závislák
  • ***
  • Příspěvků: 4949
Re:Hibernace bez swapu
« Odpověď #4 kdy: 05 Listopadu 2020, 21:40:59 »
Tak příkaz sudo swapon /swapfile končí takto:

swapon: /swapfile: swapon selhal: Nepřípustný argument

Nějaká rada co s tím?

Vše co píše @ventero platí pro EXT4
Od 18.04 výše, při instalaci, pokud není přítomen (= předem vytvořen) oddíl swap, se standardně (automaticky) vytváří swapfile v rámci systémového oddílu.
Nicméně BTRFS swapfile nepodporuje. (Donedávna neumožňoval ani bootování - musel být extra /boot oddíl). Tudíž swapfile ani mít nemůžeš....
Pokud se alespoň v hrubých obrysech orientuješ v principech fungování BTRFS, musí ti být zcela jasné co za "peklo" by v něm swapfile udělal.

Udělat si 16GB swap oddíl při dnešních kapacitách disků snad není přece problém...
Např. já mám dokonce swap oddíl na jiném (fyzickém) disku než OS (ještě víc to zrychlí systém, samozřejmě pouze při extrémních nárocích na RAM kdy je swap využíván).

Dále bych připomněl, že swapfile (týká se přirozeně i pagfile.sys ve windows) musí mít/má vždy nějakou režii v rámci FS. Tím pádem výkon disku jako celku klesá (v porovnání se samostatným swap oddílem - cca 40%).

A ještě bych zmínil, že při dostatku RAM je vhodné si nastavit hodnotu swapiness z default 60 na 10 (= swap se bude používat až při zaplnění RAM 90% ++).  :)
« Poslední změna: 05 Listopadu 2020, 22:03:00 od juwa2 »

Abby

  • Stálý člen
  • **
  • Příspěvků: 1350
Re:Hibernace bez swapu
« Odpověď #5 kdy: 05 Listopadu 2020, 23:34:39 »
Tak proto to nefunguje, chápu.

Nahrubo mi je princip fungování btrfs jasný, ale přiznám se, že nechápu, proč by swapfile měl udělat peklo. To kvůli těm různým odkazům a subvolumes, co btrfs nativně podporuje?

Nějaká rada, jak zmenšit existující oddíl, vytvořit swap oddíl a připojit ho? Jinak mám pro Linux pouze asi 80 GB, zbytek z 240 GB SSD je pro Windows, proto také mám jen jeden oddíl. A zbytečně se připravit o 16 GB toho prostoru mi prostě fakt přijde zbytečné, protože nemám šanci tu RAM zaplnit, aby se swap využil. Proto bych ráda ten soubor a ještě lepší by byl dynamický. A nebo prostě budu jen uspávat, jenže i to uspání je jak ve Windows tak v Linuxu dost mizerné a hrozně žere baterku, za 24 hodin mi zmizí klidně 20% baterky, což je prostě moc. Nevím jak je to možné, ale MacBook když uspím, tak si klidně stahuje e-maily a přesto má po 24 hodinách uspání jen jedno až dvě procenta dole.

Mimochodem nevím jak přesně to funguje v macOS, tam se o to stará čistě jen systém a není nutné to jakkoliv řešit, dokonce mám takový dojem, že si swapfile vytváří až tehdy, když je potřeba, ale ve Windows je swapfile resp. hiberfile (swap mám samozřejmě vypnutý) na tomto notebooku s 16 GB RAM jen cca dvoutřetinový a přesto hibernace funguje.

Fakt není nějaké lepší řešení kromě oddílu na btrfs? EXT4 používat nechci, líbí se mi možnosti btrfs, hlavně zálohování v Timeshift. A všichni velcí hráči na btrfs přecházejí nebo už přešli (OpenSUSE má btrfs jako výchozí (pro /home, když si ho dáš samotný, tak má výchozí xfs, jediné co jsem zjistila, že je vstřícný vůči SSD, jinak teda vůbec nevím, co to je zač), Synology ho doporučuje pro své NASy, sice tam je stále možnost EXT4, ale btrfs je výchozí a když jsem si pročítala možnosti, co který filesystém umí, tak jsem nezaváhala ani sekundu a zvolila btrfs).

juwa2

  • Závislák
  • ***
  • Příspěvků: 4949
Re:Hibernace bez swapu
« Odpověď #6 kdy: 06 Listopadu 2020, 00:38:29 »
Ano, máš samozřejmě pravdu. Všechny výhody BTRFS jasně převažují jedinou nevýhodu (= nemožnosti swapfile).
Ne, není to kvůli subvolumes, ale jasně to vyplývá z principu COW (copy&write) FS - je potřeba nastudovat, ale pro tebe postačí vzít to jako fakt..
Odkazy (hardlinky) problém naopak nejsou, ale to je doména především EXT4  (a rsync snapshotů) - tam je swapfile podporován.

Zmenšit (v GParted) stávající BTRFS oddíl samozřejmě můžeš (zásadně pracovat z nabootovaného live) a ve vzniklém místě udělat swap.
A jeho velikost? Já bych na tvém místě volil kompromis = cca polovina dostupné RAM
Ztráta místa nebude tak velká, na druhou stranu hibernovat můžeš, ale vždy si předtím pohlídej kolik je aktuálně zaplněno RAM.
Pokud to překročíš, tak ten proces (hibernování) spadne > následuje restart (obsah RAM bude přirozeně fuč).

Já osobně mám na všech OS tu "slabost", že musím mít neustále přehled o vytížení: CPU, RAM, SWAP, síť, jednotlivé procesy, disky..
Toto beze zbytku řeší conky na Ploše. Ten můj (viz obrázek) je inspirovaný PartedMagic... :)
-------------------------------------------------------------------------------------
Všem kdo chtějí na Ubuntu používat hibernaci (suspend to disc, samozřejmě je třeba tuto možnost nejprve "zapnout") důrazně doporučuji nainstalovat balíčky uswsusp  a  hibernate   ("ohlídají" celý proces uložení obsahu RAM do swapu)
Oba balíky jsou součástí offic. repo.
------------------------------------------------------------------------------------
Pro úplnost uvedu ještě postup "zapnutí" samotné hibernace.
Do Terminálu zadej příkaz:
Kód: [Vybrat]
sudo gedit /var/lib/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
Otevře se prázdný dokument a do něho zkopíruj:
Kód: [Vybrat]
[Re-enable hibernate by default in upower]
    Identity=unix-user:*
    Action=org.freedesktop.upower.hibernate
    ResultActive=yes

    [Re-enable hibernate by default in logind]
    Identity=unix-user:*
    Action=org.freedesktop.login1.hibernate
    ResultActive=yes

Soubor dej uložit, zavři Gedit, zavři Terminál a restartuj PC
Po restartu v menu (vypnutí) přibude nová položka "Uspat na disk"  (=hibernovat)



« Poslední změna: 06 Listopadu 2020, 01:06:06 od juwa2 »

Abby

  • Stálý člen
  • **
  • Příspěvků: 1350
Re:Hibernace bez swapu
« Odpověď #7 kdy: 06 Listopadu 2020, 11:58:07 »
Asi to nepotřebuju vědět úplně do detailu :)

Ještě mě napadla jedna věc, můžu vzít místo z oddílu Windows, spojit s btrfs oddílem a pak teprve uvolnit místo na swap? RAM mám v notebooku 16 GB, 0.5 GB si bere grafická karta a aktuálně mám využito 2.3 GB, málokdy se dostanu na notebooku přes 5 GB (na desktopu to je jiná, tam mi 16 GB už dávno přestalo stačit a proto tam mám 32).

Jinak já chci hibernaci hlavně pro případ přílišného vybití baterie, abych nepřišla o data když baterie dojde. Přeci jen má 9 let a je na 59% kapacity (mám v plánu koupit novou, ale nahromadilo se trochu moc výdajů najednou).

Taky ráda sleduju vytížení systému, na Windows používám Aidu, na macOS HW Monitor a v Linuxu bych ráda použila Conky, ale nedokážu to nastavit, je to na mě moc složité, tak mám cosi, co se jmenuje gkrellm, je to ošklivé, nepřehledné, ale celkem to funguje. Chvíli jsem používala widgety z KDE, ale ty jsou moc velké a divné, špatně konfigurovatelné a zabírají hrozně moc místa. Pomohl bys mi kdyžtak conky nastavit prosím?

Ventero

  • Závislák
  • ***
  • Příspěvků: 3579
Re:Hibernace bez swapu
« Odpověď #8 kdy: 06 Listopadu 2020, 12:17:26 »
Myslím, že pro linux existují aplety do panelu na sledování základních hodnot, ale zabírají tam dost místa - výhoda je oproti Conky, že jdou ty hodnoty vidět vždy.
Jinak tady na foru je celé vlákno o Conky a zde na wiki je základní pojednání - mě se to podle toho podařilo rozjet. motiv a konfigurák se dá vypreparovat právě z Parted Magic live (na uloz.to seženeš) a nebo pohledat na pling apod.
myslím, že v těch tipech, co jsem uvedl jsou i odkazy a také, že někdo by pak, dle situace, nějaké tipy přidal ...
Zvuky jsou mantrami a myšlenky moudrostí, prostě proto, že se mohou objevovat ...

Abby

  • Stálý člen
  • **
  • Příspěvků: 1350
Re:Hibernace bez swapu
« Odpověď #9 kdy: 06 Listopadu 2020, 12:20:30 »
Ty aplety, to jsou v KDE widgety :) Ale fakt zabírají hodně místa a není to úplně ono... Občas to zkouším a zase opouštím. To samé conky, ale to se mi ještě nepodařilo nastavit, ani podle wiki. Našla jsem si pěkné téma vzhledu, kde stačí to zkopírovat, zadat jeden příkaz a mělo by být hotovo. No a u mě to končí chybou a nefunguje.

TIBOR

  • Závislák
  • ***
  • Příspěvků: 6533
  • Som uzivatel linuxovej distribucie, som linuxak?
Re:Hibernace bez swapu
« Odpověď #10 kdy: 06 Listopadu 2020, 12:45:46 »
Myslím, že pro linux existují aplety do panelu na sledování základních hodnot, ale zabírají tam dost místa - výhoda je oproti Conky, že jdou ty hodnoty vidět vždy.
Conky ma tiez parameter "own_window_type="panel"," kedy conky neprekryje ziadne okno. Cize staci conky umiestnit niekde na kraj monitora v tvare aby zaberal co najmenej miesta a bude vidiet stale. Ja osobne mam v mate horny panel stiahnuty asi na 1/5 monitora a zbytok je conky.
HP Laptop 17-ca1xxx Ubuntu Mate 24.04 FF 64bit.
Asus X751LB-TY014H Ubuntu Mate 20.04.1 FF 64bit.
Linus, Lajnas, Línus, Luínus, Lajnus a je mi naozaj jedno, ako ľudia vyslovujú moje meno. Ale "Linux" je vždy "Linux". LINUS TORVALDS, tvorca Linuxového jadra.(V dokumente Revolution OS)

juwa2

  • Závislák
  • ***
  • Příspěvků: 4949
Re:Hibernace bez swapu
« Odpověď #11 kdy: 06 Listopadu 2020, 13:01:41 »
Jak si to místo pro swap uvolníš je jedno. Přesouvat nic nemusíš - zkrátka vytvoř místo zmenšním některého oddílu a v tom místě udělej swap.
8 GB by mělo stačit.

Conky. Jediné co k němu potřebuješ je konfigurační soubor  .conkyrc  který dáš do svého domovského adresáře a pak conky spustíš (před vložením konfig. souboru musí být conky ukončené).
Konfigurační soubor nemusíš "od píky" vytvářet, stačí si vhodný odněkud stáhnout (dokonce na to existuje stránka) a samozřejmě si ho přizpůsobit (bude nutno upravit hodnoty síť připojení, disků atd. aby odpovídaly skutečnosti). Editace jednotlivých položek není obtížná, podrobné vysvětlení s příklady najdeš zde

Posílám ti originální konfig z PartedMagic. Z něj jsem vycházel při vytváření svého conky. Conky konfiguráků můžeš mít kolik chceš a přepínat mezi nimi. Je na to dokonce aplikace Conky Manager.

Ventero

  • Závislák
  • ***
  • Příspěvků: 3579
Re:Hibernace bez swapu
« Odpověď #12 kdy: 06 Listopadu 2020, 15:27:14 »
Stahni si livko MX a tam mas hromadu moznosti Conky. Tak si bootni, projed, vyber co se ti libi a prenes si konfiguraky, pripadne s motivy (podkladovy obrazek) do sveho OS.
Umisteni si lehce zjistis.
Zvuky jsou mantrami a myšlenky moudrostí, prostě proto, že se mohou objevovat ...

Abby

  • Stálý člen
  • **
  • Příspěvků: 1350
Re:Hibernace bez swapu
« Odpověď #13 kdy: 06 Listopadu 2020, 16:30:40 »
juwa2: znamená to tedy, že swap může být před / ? Jaký je zápis do /etc/fstab? Mám tam aktuální oddíly jako UUID.

To conky zkusím až na to budu mít trochu času, třeba se mi s tím něco podaří.

Ventero: teď si MX nestáhnu, u toho retardovaného providera bych to tahala ještě za týden... Až přijedu domů, tak to budu mít za minutku.

juwa2

  • Závislák
  • ***
  • Příspěvků: 4949
Re:Hibernace bez swapu
« Odpověď #14 kdy: 06 Listopadu 2020, 17:16:03 »
Swap může být kdekoli
Jeho automatické připojování "zařídíš" přidáním tohoto řádku do   /etc/fstab
Kód: [Vybrat]
UUID=sem_napiš_uuid_swapu      none        swap  sw      0  0
(uuid swapu zjistíš třeba v GParted)

uuid swapu je potřeba zapsat ještě do
Kód: [Vybrat]
/etc/initramfs-tools/conf.d/resume
Pokud soubor neexistuje, tak ho vytvořit. Nebude v něm nic jiného než řádek
Kód: [Vybrat]
RESUME=uuid_swapu
Pak je třeba ještě updatnout initramfs příkazem  Pozor, toto je nutno provést v chrootnutém systému (tj. nabootovat live > provést chroot nainstalovaného systému > zadat ten příkaz > ukončit chroot > restartovat)
Kód: [Vybrat]
sudo update-initramfs -u
Update initramfs je nutné proto, že byl swap přidán až dodatečně (po instalaci).
A chrootu se neboj, nic na tom není (vygoogli si)...


Nakonec, už v běžícím systému můžeš zkontrolovat zda je swap připojený viz obrázek.

« Poslední změna: 06 Listopadu 2020, 19:22:39 od juwa2 »

Abby

  • Stálý člen
  • **
  • Příspěvků: 1350
Re:Hibernace bez swapu
« Odpověď #15 kdy: 06 Listopadu 2020, 22:59:33 »
Děkuju za vyčerpávající návod :)

Jinak už mám 8 GB swap, ve Windows 10 jsem přes Správu systému zmenšila oddíl s Windows, v Linuxu jsem spustila Správce diskových oddílů KDE, vytvořila jsem na volném místě partition s formátem swap a nakonec jsem dala v kontextové nabídce Aktivovat swap a je to, swap je aktivní. Co je mi ale záhadou, že je aktivní i po restartu a přesto na swap žádný záznam v /etc/fstab nemám. Linux příjemně překvapil, že to šlo tak jednoduše, doufám, že není někde nějaká skrytá zrada, která by se projevila později :) Ale takhle se mi to líbí, pro normální uživatele jednoduché a přehledné klikátko, pokročilý ať si to udělá v terminálu :)

juwa2

  • Závislák
  • ***
  • Příspěvků: 4949
Re:Hibernace bez swapu
« Odpověď #16 kdy: 07 Listopadu 2020, 00:51:14 »
Děkuju za vyčerpávající návod :)

Jinak už mám 8 GB swap, ve Windows 10 jsem přes Správu systému zmenšila oddíl s Windows, v Linuxu jsem spustila Správce diskových oddílů KDE, vytvořila jsem na volném místě partition s formátem swap a nakonec jsem dala v kontextové nabídce Aktivovat swap a je to, swap je aktivní. Co je mi ale záhadou, že je aktivní i po restartu a přesto na swap žádný záznam v /etc/fstab nemám. Linux příjemně překvapil, že to šlo tak jednoduše, doufám, že není někde nějaká skrytá zrada, která by se projevila později :) Ale takhle se mi to líbí, pro normální uživatele jednoduché a přehledné klikátko, pokročilý ať si to udělá v terminálu :)

No, já jsem sice (výše) napsal (zcela blbuvzdorný) postup, nicméně "systém ubuntu" je natolik "chytrý", že pokud najde někde v okolí vytvořný swap oddíl, tak si ho dokáže přivlastnit/připojit + nakonfigurovat aut. připojení sám...
To je samozřejmě jedině dobře.
Pokud je aktivní (je vidět v aplikaci Disky (gnome disks), tak je to OK.
Nicméně zápis v /etc/fstab být každopádně musí Podívej se prosím ještě jednou... :)

A definitivně se to rozhodne/zlomí po přechodu na nový kernel (u každé instalace kernelu se provádí update initramfs).
Pak mohou nastat dvě situace:
1. Nestane se nic, systém normálně naběhne, swap bude připojený a funkční.
2. Nenabootuješ. A pokud spustíš (v grubu) recovery mode, dozvíš se, že systém nemůže najít swap (resume part.)
V tom případě pomůže oprava viz výše...
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Ještě bych doplnil, že se najdou šarohlídi kteří tvrdí, že swap na SSD discích je "zabiják" životnosti (těchto disků).
Ano, teoreticky  to tak je, ale rozdíl swap vs. swapfile je v praxi v řádu max. jednotek %
Navíc swapfile má vždy vlastní FS režii která znamená další zápisy navíc + zpomalení viz výše...

Tím pádem bych to neřešil. Takže ať žije SSD swapowání.

Jo, a s instalací  balíků uswsusp  a  hibernate  to myslím naprosto vážně - pokud tedy chceš pravidelně uspávat na disk (= hibernovat)

P.S. Já používám hibernaci (mám dualboot W7/U18.04) hlavně z důvodu rychlejšího přechodu (přepnutí) mezi systémy.
Nemusím restartovat. Oba dva OS pouze hibernuji. Tím pádem je jejich start mnohonásobně rychlejší.
Ano, má to svoje omezení (zápis) které je třeba respektovat.
Ve Windows mám nainstalovaný driver (Paragon) takže "vidím" linuxové disky EXT4 normálně (i s náhledy) v Průzkumníkovi..
Mám i možnost zápisu, ale s tím jsem raději "opatrný"...
« Poslední změna: 07 Listopadu 2020, 01:03:19 od juwa2 »

Abby

  • Stálý člen
  • **
  • Příspěvků: 1350
Re:Hibernace bez swapu
« Odpověď #17 kdy: 07 Listopadu 2020, 16:06:08 »
Máš pravdu, je to v /etc/fstab zapsané, ale objevilo se to tam až po dalším restartu  :o

Doufám, že update jádra mi nefunkčnost nezpůsobí. A taky doufám, že mi to nezničí disk, ale snad ne. Ty dva balíčky jsem nainstalovala a zdá se, že to hibernuje v pořádku a i probouzí. Díky moc za radu :)

 

Provoz zaštiťuje spolek OpenAlt.