Vyhledávání na webu

CPUTool - Omezte a řiďte využití CPU jakéhokoli procesu v Linuxu


Jednou z kritických oblastí při monitorování výkonu Linuxu musí být využití procesoru a zatížení systému. Existuje několik nástrojů pro monitorování výkonu Linuxu, abyste mohli sledovat, jak se věci v systému vyvíjejí.

Řada těchto nástrojů jednoduše zobrazuje stav/statistiky systému, zatímco několik dalších vám poskytuje prostředky pro správu výkonu systému. Jeden takový nástroj se nazývá CPUTool.

CPUTool je jednoduchý, ale výkonný nástroj příkazového řádku pro omezení a řízení využití CPU jakéhokoli procesu na daný limit a umožňuje přerušení provádění procesu, pokud zatížení systému překročí definovanou prahovou hodnotu.

Jak CPUTool funguje?

Aby se omezilo využití procesoru, cputol posílá do procesů signály SIGSTOP a SIGCONT, což je určeno zatížením systému. Při čtení PID a jejich měření využití CPU se spoléhá na pseudo-souborový systém /proc.

Může být použit k omezení využití CPU nebo zatížení systému ovlivněného jedním procesem nebo skupinou procesů na daný limit a/nebo pozastavení procesů, pokud zatížení systému překročí prahovou hodnotu.

Doporučená četba: Pochopte průměrné zatížení Linuxu a sledujte výkon Linuxu

Nainstalujte CPUTool, abyste omezili využití CPU a průměrné zatížení

CPUTool je k dispozici pouze pro instalaci na Debian/Ubuntu a jeho deriváty z výchozích systémových úložišť pomocí nástroje pro správu balíčků.

sudo apt install cputool

Omezení využití procesoru pomocí CUPTool

Nyní se podívejme, jak cputool skutečně funguje. Abychom to vše předvedli, spustíme příkaz dd, který by měl mít za následek vysoké procento CPU na pozadí a zobrazit jeho PID.

dd if=/dev/zero of=/dev/null &

Ke sledování využití procesoru můžeme použít nástroje top nebo pohledy, které nám umožňují v reálném čase sledovat pravidelně aktualizovaný stav běžících procesů systému Linux:

top

Z výše uvedeného výstupu můžeme vidět, že příkaz dd má nejvyšší procento CPU času 99,7 %) Nyní to můžeme omezit pomocí cputool, jak je ukázáno níže.

Parametr --cpu-limit nebo -c se používá k nastavení procenta využití pro proces nebo skupinu procesů a -p k určení PID. Následující příkaz omezí příkaz dd (PID 8275) na 50 % využití jednoho jádra CPU:

cputool --cpu-limit 50 -p 8275 

Po spuštění cputool můžeme ještě jednou zkontrolovat nové využití CPU pro proces (PID 8275). Nyní by se využití procesoru pro proces dd mělo pohybovat v rozmezí (49,0 %–52,0 %).

top

Abychom dále omezili využití procesoru dd na 20 %, můžeme spustit cputool podruhé:

cputool --cpu-limit 20 -p 8275 

Poté okamžitě zkontrolujte pomocí nástrojů, jako je top nebo pohledy, jako je tento (vytížení procesoru pro dd by se nyní mělo pohybovat v rozmezí 19,0 %-22,0 % nebo mírně nad toto):

top

Všimněte si, že shell neočekává žádný uživatelský vstup, když je spuštěn cputool; proto přestane reagovat. Chcete-li jej ukončit (ukončíte tím operaci omezení využití procesoru), stiskněte Ctrl + C.

Důležité je, že chcete-li zadat skupinu procesů (jeden program s několika spuštěnými instancemi, z nichž každá má odlišné PID), například webový server HTTP:

pidof apache2
9592 3643 3642 3641 3640 3638 3637 1780

Použijte příznak -P takto:

cputool --cpu-limit 20 -P 1780

Omezení zatížení systému pomocí CUPTool

Volba -l se používá k určení maximální zátěže, kterou může systém projít, aby proces nebo skupina procesů pokračovala v běhu. Můžeme použít zlomkovou hodnotu (např. 2,5).

Níže uvedený příklad znamená, že spustíte rsync pro místní zálohu pouze tehdy, když zatížení systému nepřekročí 3,5:

cputool --load-limit 3.5 --rsync -av /home/tecmint /backup/`date +%Y-%m-%d`/

Další informace a použití naleznete na manuálové stránce CPUTool:

man cputool

Podívejte se na následující užitečné průvodce pro vyhledání informací o CPU a sledování výkonu CPU:

  1. 9 užitečných příkazů pro získání informací o CPU v systému Linux
  2. Cpustat – Monitoruje využití CPU spuštěnými procesy v Linuxu
  3. CoreFreq – výkonný nástroj pro monitorování CPU pro systémy Linux
  4. Najděte nejběžnější procesy podle nejvyššího využití paměti a CPU v Linuxu

Závěrem, CPUTool se opravdu hodí pro správu výkonu Linuxu. Podělte se o své názory na tento článek prostřednictvím formuláře pro zpětnou vazbu níže.