GNU/Linux >> Znalost Linux >  >> Linux

Jak nastavit prioritu procesu Linux pomocí příkazů nice a renice

Nice je nástroj příkazového řádku v Linuxu, který vám umožňuje nastavit hodnotu „hezkosti“ procesů. Používá se ke spuštění procesu s definovanou prioritou. Když spustíte jakýkoli program nebo proces bez definované priority, nice nastaví výchozí prioritu 10. Niceness 19 je nejnižší priorita, zatímco -20 je nejvyšší priorita. Příkaz nice je velmi užitečný, když několik procesů vyžaduje více zdrojů, než může poskytnout CPU.

Renice je velmi podobná nice a používá se ke změně priority již běžícího procesu. Pokud váš systém běží velmi pomalu kvůli zdlouhavému procesu, můžete snížit nebo zvýšit prioritu tohoto procesu pomocí příkazu renice.

Priorita je hodnota, kterou můžete přiřadit každému procesu, a jádro tuto hodnotu používá k plánování provádění procesu.

  • 0–99 je hodnota priority používaná pro přiřazení priority v reálném čase.
  • 100–139 je hodnota priority, kterou uživatelé přiřazují.

V tomto příspěvku vám ukážeme, jak nastavit prioritu procesu Linux pomocí příkazů Nice a renice.

Předpoklady

  • Server Linux na cloudové platformě Atlantic.Net
  • Heslo uživatele root nakonfigurované na vašem serveru

Krok 1 – Vytvořte cloudový server Atlantic.Net

Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Ubuntu, CentOS nebo Rocky Linux s alespoň 2 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.

Jakmile se přihlásíte na svůj server, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.

apt-get update -y

Nebo

dnf update -y

Krok 2 – Zobrazení pěkné hodnoty procesu

V Linuxu, když spustíte jakýkoli proces nebo program, získá výchozí prioritu 0.

Pro zobrazení priority běžícího procesu můžete použít příkaz ps nebo top.

Chcete-li zkontrolovat hodnotu Nice procesu Nginx, spusťte následující příkaz:

ps -fl -C nginx

Ve sloupci NI byste měli vidět prioritu procesu Nginx, jak je uvedeno níže:

F S UID        PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
5 S www-data  3156  3155  0  80   0 - 21700 -      10:33 ?        00:00:00 nginx: worker process

Chcete-li zobrazit pěkné hodnoty všech běžících procesů, použijte příkaz top:

top

Ve sloupci NI byste měli vidět pěkné hodnoty všech procesů.

Krok 3 – Změňte prioritu procesu pomocí příkazu Nice

Příkaz nice nemůže změnit prioritu běžícího procesu. Můžete však použít příkaz nice ke spuštění jakéhokoli programu s předdefinovanou prioritou.

Například spusťte špičkový program s pěknou hodnotou 5:

nice -5 top

Tím se přiřadí priorita 5 nahoře.

Nyní otevřete další terminál a ověřte prioritu pro horní, jak je znázorněno níže:

ps -fl -C top

Ve sloupci NI byste měli vidět prioritu nejvyššího příkazu:

F S UID        PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
4 S vyom      7966  7277  0  85   5 -  7323 poll_s 11:41 pts/14   00:00:00 top

Pokud nastavíte hodnotu priority vyšší než 0, nepotřebujete práva root. Oprávnění root budete potřebovat, pokud chcete zvýšit prioritu jakéhokoli procesu přiřazením záporné hodnoty.

Chcete-li například zvýšit prioritu příkazu top na -20, použijte následující příkaz:

sudo nice --20 top

Krok 4 – Změňte prioritu spuštěného procesu pomocí příkazu renice

Jak víte, příkaz nice nemůže změnit prioritu žádného běžícího procesu. V tomto případě budete muset ke změně priority běžícího procesu použít příkaz renice.

Zde použijeme nejvyšší proces, který již běží.

Nejprve ověřte aktuální prioritu nejvyššího procesu pomocí následujícího příkazu:

ps -fl -C top

Ukázkový výstup:

F S UID        PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
4 S vyom      7966  7277  0  85   5 -  7323 poll_s 11:41 pts/14   00:00:03 top

Jak vidíte, priorita nejvyššího procesu je 5.

Nyní změníme prioritu nejvyššího procesu na -15.

Nejprve najděte PID nejvyššího procesu pomocí následujícího příkazu:

pidof top

Ukázkový výstup:

7966

Nyní spusťte následující příkaz zadáním hodnoty priority a PID top:

sudo renice -n -15 -p 7966

Ukázkový výstup:

7966 (process ID) old priority 5, new priority -15

Můžete také změnit prioritu všech procesů vlastněných konkrétním uživatelem.

Například změňte prioritu všech procesů vlastněných uživatelem root, spusťte:

sudo renice -n 10 -u root

Závěr

V této příručce jste se naučili, jak nastavit a změnit prioritu jakéhokoli procesu pomocí příkazu nice a renice. Nyní můžete snadno zvýšit a snížit prioritu procesu podle svých potřeb. Začněte používat nice and renice na svém hostingovém účtu VPS od Altantic.Net.


Linux
  1. Jak přenášet soubory mezi dvěma počítači pomocí příkazů nc a pv

  2. Jak změnit prioritu procesu pomocí příkladů Linux Nice a Renice

  3. Jak obnovit všechna vlákna (a děti) jednoho procesu v Linuxu?

  1. Jak zakázat příkazy vypnutí a restartu v Linuxu

  2. Linux nice and renice Command Tutorial (7 příkladů)

  3. Jak najít a zabít zombie proces v Linuxu

  1. Jak zabít proces v Linuxu? Příkazy k ukončení

  2. Linuxové příkazy:Jak manipulovat s prioritou procesu

  3. Jak zabít proces v Linuxu pomocí příkazu?