
A hibernálás és alvás medvéknek és számítógépeknek egyaránt szól! Ha kevesebb villamos energia fogyasztása a cél, akkor ez az útmutató megmutatja, hogyan készítsen egy kis parancsfájlt a számítógép biztonságos hibernálásához, alvásához vagy lefagyasztásához a parancssorból.
Hibernálás és Alvás Linux alatt
A számítógép hibernálása megmenti a számítógép memóriájának aktuális tartalmát ( RAM a számítógép memóriája) lemezre, különösképpen a cserefelületre. Ezt követően a hardver hívása automatikusan lemerül, és amikor újraindítja a számítógépet, a memória tartalma vissza lesz olvasva a cserehelyről a fő memóriába, és folytathatja a számítógép használatát pontosan azon a helyen, ahol hibernált azt.
Egy kihívás van, amikor a Linux-példányt hibernálni kell a parancssor használatával: szükség lesz egy elég nagy cserehelyre a teljes RAM-méret befogadásához, és esetleg némi pluszra az alkalmazások normál egyidejű cseréjéhez. Így, ha 8 GB RAM memória van a rendszerben, érdemes 16-20 GB-os cserehelyet kiosztani a bőség biztosítása érdekében. Ha szeretné megtanulni, hogyan kell ezt megtenni, olvassa el a mi oldalunkat Swapfájl létrehozása és engedélyezése a Linux parancssorban útmutató.
Az alvási állapot nagyon hasonló, bár az áramot nem veszik el teljesen. A memóriája, és időnként a CPU is áram alatt marad, így amikor visszatér a géphez, és például megnyomja a szóközt vagy rákattint egy egérgombbal (mint ébresztési esemény), a számítógép újra megkezdi működését. ahol elaltatta. Az ilyen ébresztési eseményeket általában a BIOS-ból lehet konfigurálni.
A számítógép BIOS-ja általában a számítógép indításakor érhető el, feltéve, hogy nem hibernált állapotban vagy elalvás alatt állt, de valójában teljesen leállt, amikor utoljára használta. Gyakran elérhetõ egy olyan gomb megnyomásával, mint az F2 vagy DEL (vagy bármely más, a képernyõn megjelenõ vagy az alaplap gyártójának kézikönyvébõl származó gomb) a rendszer korai indítása során (amint bármilyen szöveg megjelenik a képernyõn, miután megnyomta a bekapcsológomb).
Általában a kernel alapú energiatakarékos felfüggesztési szintek három szintje áll rendelkezésre a Linuxban, amelyet az operációs rendszer (vagy pontosabban a kernel) biztosít.
Ezek a szintek a kernelbe vannak beépítve, és elérhetőségük a használt operációs rendszertől függ. A szintek Felfüggesztés üresjáratra (találóan megnevezve s2idle vagy fagy), Felfüggesztés a memóriába (mem vagy helyesebben mély) és a Suspend-to-Disk (korong). Rendszere támogathatja a készenléti módot is (standby
vagy shallow
). Hamarosan többet megtudhatunk arról, hogyan fedezhetjük fel, milyen szintek állnak rendelkezésre a rendszeren, és hogyan lehet ezeket irányítani!
Az asztali számítógépek nem tudnak hibernálni vagy aludni?
Érdekes módon, bár általában a memóriába való felfüggesztést és a lemezre történő felfüggesztést a kern elérhetővé teszi, és a rendszer támogatja, a kernel tetején futó operációs rendszer – bizonyos rendszerességgel – nem fogja bemutatni ezeket az opciókat GUI / Asztal.
Például egy nemrégiben telepített Mint 20 (modern, Ubuntu alapú operációs rendszer) modern rendszerre klónozott telepítésénél a következő lehetőségek voltak elérhetőek, amikor megnyomta a bekapcsológombot az xcfe GUI / Desktop alkalmazásban:
Kijelentkezés, újraindítás, leállítás és felhasználói váltás, de nem Alvás, Készenlétben lévő sem Hibernálás! Ez a rendszer továbbra is memóriába vagy lemezre történő felfüggesztése tehát nagy előrelépés lenne, még akkor is, ha ehhez meg kell hívnunk a terminált. A következő szakasz elmagyarázza, hogyan kell ezt megtenni, de először nézzük át a rendszereden elérhető lehetőségeket és azok jelentését.
Ha kivégezed cat /sys/power/state
a parancssorban a következőkhöz hasonlót fog látni:
Ezen a rendszeren a három fő lehetőség (freeze, mem and disk
) támogatottak. Ön is láthatja standby
vagy a rendszere.
A freeze
opció, ha be van állítva, könnyű, szoftver alapú alvó állapotot indít el a rendszer számára. A Linux felhasználói területe lefagy (ezért a kifejezés), és az összes I / O eszköz alacsony energiafogyasztású állapotba kerül. Bár ez az opció és állapot mindig támogatott, és korlátozza az energiafelhasználást, ez a gép leállításának legkönnyebb formája. Ha más lehetőség nem áll rendelkezésre, ez még mindig megtakaríthatja a villanyszámlát, bár nem annyira, mint a rendszer leállítása.
Ennek az opciónak / állapotnak a kérdése tehát a lelkiismerettel kapcsolatos (a rendszer használatra kész és balra hagyott állapotban hagyása és egy kis megtakarítás a leállítással szemben, de az alkalmazások újbóli megnyitása és további megtakarítás). Remélhetőleg az operációs rendszer és a hardver más állapotokat is támogat. Ha nem, fontolja meg az operációs rendszer frissítését vagy módosítását, és / vagy a BIOS és más hardvereszközök firmware-jének frissítését a legújabb verzióra. Az energiával kapcsolatos opciók megváltoztatása a BIOS-ban is segíthet.
A mem
opció, ha be van állítva, vagy a Suspend-To-Idle-t kezdeményezi, amely megegyezik a fagy opciót, vagy végezzen Suspend-To-RAM-ot, ahol a rendszerben minden a memória kivételével alacsony fogyasztású állapotba kerül. A használt beállítás (Suspend-to-Idle vagy Suspend-To-RAM) a beállítástól függ /sys/power/mem_sleep
fájl. A fájl különféle módjait egyszerűen végrehajtással vizsgálhatja meg cat /sys/power/mem_sleep
a terminál parancssoránál.
Általánosságban véve azt várom, hogy ezt az opciót alapértelmezés szerint a következőre állítsuk: deep
alapértelmezés szerint (amint azt a [code]
) minden Linux operációs rendszeren, egyszerűen azért, mert amikor beállítja a /sys/power/state
opció mem
, elvárható, hogy a rendszer a memóriába írja a tartalmat (azaz a Suspend-To-RAM-ot, amelyet a deep
ban ben /sys/power/mem_sleep
) helyett a Felfüggesztés készenléti üzemmódba s2idle
.
Ne feledje azt is, hogy így két különböző módja van a felfüggesztés tétlenségre: vagy írásban freeze
nak nek /sys/power/state
, vagy írásban s2idle
nak nek /sys/power/mem_sleep
majd ezt követően írás mem
nak nek /sys/power/state
.
Amint láthatja, a használt terminológia kissé zavaros és keveredik a /sys/power/mem_sleep
fájl. A dolgok elvégzésének egyszerűbb módja, és feltehetőleg az összes modern Linux operációs rendszer alapértelmezett módja az, ha egyszerűen távozik /sys/power/mem_sleep
állítva deep
és írj freeze
nak nek /sys/power/state
az alapjárat felfüggesztésére és az írásra mem
nak nek /sys/power/state
a RAM-ra való felfüggesztéshez.
Végül megvan az utolsó lehetőség (feltéve, hogy a rendszernek nincs standby
opció, amely Power-On-Suspend opció, ahol a CPU fenntartja az energiát), és ez disk
. Ez az opció lehetővé teszi számunkra, hogy felfüggesztsük a lemezre. Alapvetően ez a Hibernate opció, amelyet korábban leírtunk, míg a Suspend-to-Idle vagy a Suspend-To-RAM alvásmódnak tekinthető. Ebben a módban a memóriában lévő összes adat lemezre kerül, így maga a memória is felszabadulhat: teljes leállítás.
Összefoglalva: a három fő áramellátási felfüggesztés közül bármelyik kiválasztásának legegyszerűbb módja az, ha rendelkezik (vagy elhagy) /sys/power/mem_sleep
állítva deep
, hagyja figyelmen kívül ezt a fájlt, majd a gombbal válassza ki az energiafogyasztási módok felfüggesztését /sys/power/state
csak írásban freeze
(Felfüggesztés üresjáratra), mem
(Suspend-to-RAM), vagy disk
(Felfüggesztés lemezre) ehhez a fájlhoz. Lássuk, hogyan kell ezt biztonságosan megtenni.
Hibernálás, alvás vagy fagyás
Szeretnénk egy olyan szkriptet, amely biztonságosan hibernál, elalszik vagy lefagyasztja a számítógépünket. Miért említik a biztonságot? Nos, fontold meg, hogyan írhatsz freeze
nak nek /sys/power/state
azonnal lefagyasztja a rendszert és visszaállítja a rendszert pontosan ugyanabba az állapotba, amikor egy gombot megnyomnak vagy egérre kattintanak (attól függően, hogy az ilyen opciókat a BIOS-beállítások engedélyezik-e). Asztalod feloldva még mindig fel van oldva!
Szükségünk van egy olyan szkriptre, amely nem csak hibernál, alszik vagy fagyasztja le gépünket, hanem olyan is, amely lezárja számunkra az asztalunkat. Ennek megvalósítása az operációs rendszertől, valamint a választott Asztaltól / GUI-tól függ.
Gyors keresés kedvenc keresőmotorjában [screen] zárolja a Linux disztribúció grafikus felületét a parancssorból hol képernyő egy választható szó / keresési kifejezés, Linux disztribúció a Linux disztribúció neve, a GUI pedig a GUI neve (például az xcfe), feltárja a terminál parancssorból történő lezárásának egy vagy több módját. Ehhez az útmutatóhoz az Linux xcfe-t futtató Linux Mint 20-at fogjuk használni.
Meghatározzuk hibernate.sh
szkript az alábbiak szerint:
sudo sleep 0.1 # To get auth xflock4 sleep 3 echo disk | sudo tee /sys/power/state # Requires sufficient swap space
Az első sorban hivatkozunk sudo
a root / super felhasználói szintű hitelesítés engedélyezéséhez. Egyszerűen számlázunk sleep 0.1
dummy parancsként. Az egyetlen cél az, hogy a következő sudo parancsok (mint az utolsó) ne követeljék meg tőlünk a hitelesítés megadását, mivel nehéz egy jelszót begépelni a terminálba, amikor a képernyő már zárva van ?
Ezek után meghívjuk az operációs rendszert és az asztal / GUI / ablakkezelő specifikus zárparancs választását xflock4
xcfe-hez a Linux Mint 20. Ezután 3 másodpercig alszunk a sleep 3
.
Végül írjuk (a echo
) a szó disk
nak nek /sys/power/state
felhasználásával tee
(lát man tee
további információkért, ha ez érdekes, alapvetően a tee a standard bemenetről olvas és itt egy fájlba ír), és sudo
. Ez hibernálja a rendszerünket lemezre (és kikapcsolja a számítógépet) feltéve, hogy elegendő cserefelület áll rendelkezésünkre, amint ezt az útmutató korábban leírta.
A szkript megváltoztatása Suspend-To-RAM / Memory-ra most egyszerű: egyszerűen cserélje ki a szót disk
nak nek mem
.
Meghatározzuk sleep.sh
szkript az alábbiak szerint:
sudo sleep 0.1 # To get auth xflock4 sleep 3 echo deep | sudo tee /sys/power/mem_sleep echo mem | sudo tee /sys/power/state
Megtettük az írás további lépését deep
nak nek /sys/power/mem_sleep
az energiatakarékos oldalon álljon, és kerülje az üresjárat-felfüggesztést. Ez csak akkor működik, ha deep
egy tényleges opció a rendszeren (ne felejtsd el futtatni cat /sys/power/mem_sleep
felfedezni a memória alvási módjait, és biztosítani deep
az egyik). Ha deep
már az aktuális alapértelmezettként van kiválasztva, a [deep]
.
Végül a freeze
szkript az alábbiak szerint:
sudo sleep 0.1 # To get auth xflock4 sleep 3 echo freeze | sudo tee /sys/power/state
Ne feledje, hogy nincs további írása s2idle
nak nek /sys/power/mem_sleep
szükséges, mivel a freeze
írj neki /sys/power/state
automatikusan használja s2idle
(Felfüggesztés üresjáratra). Amint azt korábban leírtuk, írhattunk volna s2idle
nak nek /sys/power/mem_sleep
majd megírta mem
nak nek /sys/power/state
ehelyett ugyanazon eredmény elérése érdekében, de úgy tűnik, hogy ez zavarosabb módja ennek.
A fenti szkriptekben felsorolt különféle hatalmi állapotok a bemutatott sorrendben (disk
> mem
> freeze
) a legkevesebb energiamegtakarítással rendelkezik, és a magasabb szintek mélyebb alvó állapotba hozzák a számítógépet.
Figyelemre méltó az is, hogy csak a Suspend-to-Disk (disk
) biztosítja, hogy ha valahogy csökken a rendszer energiája, a mentett állapotot ez nem érinti, és a számítógép folytathatja azt a pontot, amelyet abbahagyott. Ez azt jelenti, hogy ez a leglassabb is, mivel a lemez I / O-ra – a memória méretéhez mérten – szükség van.
Csomagolás
Az, hogy a gépet helyileg vagy távolról aludni, vagy hibernálni tudja a parancssoron keresztül, nagy rugalmasságot kínál, különböző szintű energiatakarékosságban, különböző felfüggesztési módok révén. A kiszolgálók és az asztali számítógépek egyaránt hibernálhatók.
Felfüggeszthetjük a számítógépet alapjáraton (s2idle), a memóriára (mem) és a lemezre (korong). Ez az útmutató leírta ennek különféle módjait, valamint azt, hogy ez hogyan kapcsolódik az alapul szolgáló hardverhez. A rendszeresen működő rendszerek, miközben támogatják a hibernálást és az alvást, nem mindig hirdetik és nem teszik elérhetővé ezeket a lehetőségeket az asztali grafikus felhasználói felületükön.
Annak ismerete, hogy egy lépéssel tovább haladunk a parancssorban, gyakran megment minket attól, hogy egyáltalán nem tudunk hibernálni vagy aludni egy gépet, vagy hogy hibernálhatnánk vagy távol aludhatnánk azt a gépet. Élvezd!
Jogi nyilatkozat: Nincsenek olyan számítógépek, ahol az ezen útmutatóhoz készített különféle kísérletek hurt sérültek volna ?