V rámci různých úkolů správy operačních systémů Linux je ideální podrobně vědět, jak procesy v systému fungují, protože je to nezbytné k dokončení a vědět, jak interně každý proces plní funkci, pro kterou byl vyvinut.
Dnes bude Solvetic podrobně analyzovat, jak upřednostňovat procesy našich distribucí Linuxu pomocí Nice a Renice.
Jaké jsou priority procesu v LinuxuJe důležité, abyste věděli, jak pěkná a příjemná práce je, abyste trochu porozuměli tomu, proč nastavení určité priority procesu Linux, tedy priority procesu, slouží k určení doby, po kterou bude moci vybraný proces využívat procesor v určitém čase.
V prostředích Linux jsou procesory sdíleny více procesy (procesy se střídají s využitím dostupných procesorů), což uživateli umožňuje vnímat, že jsou všechny aplikace nebo úkoly prováděny současně, a proto definováním priority , naznačujeme systému, které procesy mohou více využívat procesor a které procesy zaujímají druhé místo.
Tato priorita může vést k tomu, že některé procesy nebudou prováděny kdykoli, protože jsou posunuty ke konci fronty procesů jinými procesy s vyšší prioritou použití.
Jak funguje Plánovač jádra v LinuxuDalší bod, který je třeba mít na paměti při správě systémů Linux, je znalost jádra, které má na starosti spouštění. V jádře má programátor nebo plánovač, což je jednotka jádra, která určuje nejvhodnější proces ze všech dostupných spustitelných procesů, které je nutné provést v první instanci. Poté alokuje čas procesoru mezi spustitelnými procesy v systému.
Spustitelný proces je proces, který čeká pouze na spuštění času CPU. Programátor tvoří jádro multitaskingu v Linuxu a využívá algoritmus plánování podle priority k výběru ze spustitelných procesů v systému. Poté klasifikuje procesy na základě těch nejzásadnějších a také časové náročnosti CPU každého z nich.
V Linuxu je v Linuxu implementováno celkem 140 priorit a dva různé rozsahy priorit:
- První je pěkná hodnota, která se pohybuje od -20 (nejvyšší hodnota priority) do 19 (nejnižší prioritní hodnota) a výchozí hodnota je 0.
- Druhou je priorita v reálném čase, která se standardně pohybuje od 1 do 99, poté je 100 až 139 určeno pro uživatelský prostor.
1. Ověření hodnot procesů v Linuxu
V Linuxu můžeme kontrolovat hodnoty procesu pomocí nástrojů, jako je ps, top nebo htop.
Pokud použijeme parametr ps, můžeme provést následující:
ps -eo pid, ppid, ni, commSloupec zde neodhaluje hodnotu každého procesu:
ZVĚTŠIT
Alternativně můžeme použít horní nebo htop parametry, kde můžeme vidět mnohem úplnější výsledky a automaticky se nám zobrazí sloupec se stejnými hodnotami každého zobrazeného procesu:
horní
ZVĚTŠIT
htop
ZVĚTŠIT
PoznámkaV případě, že nemáte htop, můžeme jej nainstalovat spuštěním řádku sudo apt install htop
2. Rozdíl mezi PR nebo PRI a NI a jak vypočítat jejich hodnoty
Když spustíme horní a htop parametry, můžeme vidět sloupce PR, PRI nebo NI, znamenají:
ANIJe to přátelská hodnota, to znamená, že je to koncept uživatelského prostoru
PR / PRIJe to skutečná priorita procesu, tyto informace poskytuje jádro Linuxu
Tyto hodnoty jsou založeny na následujících skutečnostech.
Celkový počet priorit = 140 Rozsah priorit v reálném čase (PR nebo PRI): 0 až 99 Rozsah priorit uživatelského prostoru: 100 až 139 Rozsah hodnot NI (Nice Value) -20 až 19: PR = 20 + NI PR = 20 + ( -20 až + 19) PR = 20 + -20 až 20 + 19 PR = 0 až 39, což se rovná 100 až 139Pokud v zobrazených výsledcích vidíme hodnotu rt, znamená to, že proces je prováděn s prioritou plánování v reálném čase.
3. Jak spustit příkaz s hodnotou Nice v systému Linux
Nice má na starosti přiřazení konkrétní priority programu při jeho provádění a dědičnost úkolů a procesů, které tento program může v systému spustit. Nice platí, když máme program nebo úkol, který vyžaduje hodně využití CPU, ale také to, že dokončení tohoto procesu může trvat dlouho, tam bude možné konfigurovat vysokou nebo příznivou prioritu pomocí příkazu nice.
Můžeme použít následující syntaxi:
nice -n nice-value [příkazové argumenty] nice-Nice-value [příkazové argumenty] nice --adjustment = Nice-value [příkazové argumenty]Zvažte následující:
- Pokud není zadána žádná hodnota, Nice ve výchozím nastavení nastaví prioritu 10
- Příkaz nebo program spuštěný bez výchozích hodnot je nastaven na prioritu nula
- Pouze uživatel root může spustit příkaz nebo program s vyšší nebo vyšší prioritou
- Běžní uživatelé mohou spustit pouze příkaz nebo program s nízkou prioritou
sudo nice -n -5 xclock &Nebo můžeme provést následující:
sudo nice --adjustment = 5 xclock &
ZVĚTŠIT
Vidíme, že je vygenerováno nové ID.
4. Změňte prioritu plánování procesu v Linuxu
Při použití prostředí Linux umožňuje dynamické programování na základě priorit, takže pokud je program již spuštěn, bude možné změnit jeho prioritu pomocí příkazu renice následujícím způsobem:
renice -n -12 -p (PID) renice -n -2 -u (aplikace)Při provádění tohoto příkazu budeme moci vidět starou prioritu a novou prioritu.
ZVĚTŠIT
5. Jak nastavit Nice výchozí pro procesy konkrétního uživatele
Výchozí hodnotu pro konkrétního uživatele nebo skupinu můžete nastavit v souboru /etc/security/limits.conf. Jeho hlavní funkcí je definovat omezení zdrojů pro uživatele připojené přes PAM.
Syntaxe pro definování limitu pro uživatele je následující:
Alternativně bude možné vytvořit soubor v /etc/security/limits.d/, který se stará o přepsání konfigurace v hlavním souboru, a tyto soubory se čtou v abecedním pořadí.
Pokud chceme získat pomoc Nice nebo Renice, můžeme provést následující:
muž milý muž renice
ZVĚTŠIT
Máme tedy po ruce možnost stanovit priority podle potřeb procesů, optimalizovat mnohem více využití CPU v Linuxu a výrazně zlepšit administrativní úkoly.