Weboldal keresés

CPUTool – Bármilyen folyamat CPU-használatának korlátozása és szabályozása Linuxban


A Linux teljesítményfigyelésének egyik kritikus területe a CPU-használat és a rendszerterhelés. Számos Linux-teljesítményfigyelő eszköz létezik, amelyek segítségével figyelemmel kísérheti, hogyan alakulnak a dolgok egy rendszeren.

Számos ilyen eszköz egyszerűen kiadja a rendszer állapotát/statisztikáit, míg néhány másik eszköz a rendszer teljesítményének kezelésére szolgál. Az egyik ilyen eszköz a CPUTool.

A CPUTool egy egyszerű, de hatékony parancssori eszköz bármely folyamat CPU-használatának egy adott korlátra való korlátozására és szabályozására, és lehetővé teszi a folyamatvégrehajtás megszakítását, ha a rendszer terhelése túllép egy meghatározott küszöböt.

Hogyan működik a CPUTool?

A CPU-használat korlátozása érdekében a cputool SIGSTOP és SIGCONT jeleket küld a folyamatoknak, és ezt a rendszer terhelése határozza meg. A /proc pszeudofájlrendszerre támaszkodik a PID-k és azok CPU-használati mértékeinek olvasásához.

Használható az egyetlen folyamat vagy folyamatcsoport által befolyásolt CPU-használat vagy rendszerterhelés egy adott korlátra való korlátozására és/vagy a folyamatok felfüggesztésére, ha a rendszerterhelés túllép egy küszöbértéket.

Javasolt olvasmány: Ismerje meg a Linux terhelési átlagait és figyelje a Linux teljesítményét

Telepítse a CPUTool-t a CPU-használat és az átlagos terhelés korlátozásához

A CPUTool csak a Debian/Ubuntu és annak származékaira telepíthető az alapértelmezett rendszertárolókból csomagkezelő eszközzel.

sudo apt install cputool

A folyamat CPU-használatának korlátozása a CUPTool segítségével

Most nézzük meg, hogyan működik a cputool valójában. Mindezek bemutatásához egy dd parancsot fogunk futtatni, amelynek magas CPU-százalékot kell eredményeznie a háttérben, és megjeleníti a PID-jét.

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

A CPU-használat nyomon követésére használhatjuk a top vagy glances eszközöket, amelyek lehetővé teszik egy futó Linux rendszerfolyamatok valós idejű, rendszeresen frissített állapotának megtekintését:

top

A fenti kimenetből láthatjuk, hogy a dd parancs rendelkezik a legmagasabb százalékos CPU-idővel 99,7%) Most ezt korlátozhatjuk a cputool segítségével, az alábbiak szerint.

A --cpu-limit vagy -c jelző egy folyamat vagy folyamatcsoport használati százalékának beállítására, a -p pedig a felhasználási arány megadására szolgál. egy PID. A következő parancs a dd parancsot (PID 8275) egy CPU mag 50%-ára korlátozza:

cputool --cpu-limit 50 -p 8275 

A cputool futtatása után még egyszer ellenőrizhetjük a folyamat új CPU-használatát (PID 8275). Most a dd folyamat CPU-használata (49,0%-52,0%) között mozog.

top

A dd CPU-használatának további 20%-ra korlátozása érdekében a cputoolt másodszor is futtathatjuk:

cputool --cpu-limit 20 -p 8275 

Ezután azonnal ellenőrizze olyan eszközökkel, mint például a top vagy az ehhez hasonló pillantások (a dd esetében a CPU-használatnak most 19,0%-22,0% között kell lennie, vagy ennél valamivel nagyobbnak kell lennie):

top

Vegye figyelembe, hogy a parancsértelmező nem vár semmilyen felhasználói bevitelt a cputool futása közben; ezért nem reagál. Megöléséhez (ez leállítja a CPU-használat korlátozását) nyomja meg a Ctrl + C billentyűt.

Fontos, hogy egy folyamatcsoportot (egy program több futó példányt, amelyek mindegyike külön PID-vel) adjon meg, például HTTP webszervert:

pidof apache2
9592 3643 3642 3641 3640 3638 3637 1780

Használja a -P jelzőt a következőképpen:

cputool --cpu-limit 20 -P 1780

A rendszer terhelésének korlátozása a CUPTool segítségével

A -l opció a rendszer maximális terhelésének megadására szolgál, hogy a folyamat vagy folyamatcsoport tovább futhasson. Használhatunk tört értéket (pl. 2,5).

Az alábbi példa azt jelenti, hogy csak akkor futtassa az rsync-et helyi biztonsági mentéshez, ha a rendszer terhelése nem haladja meg a 3,5-et:

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

További információkért és használatért tekintse meg a CPUTool kézikönyvoldalát:

man cputool

Tekintse meg a következő hasznos útmutatókat a CPU-információk megtalálásához és a CPU-teljesítmény figyeléséhez:

  1. 9 hasznos parancs a CPU-információk lekéréséhez Linuxon
  2. Cpustat – Figyeli a CPU kihasználtságát a folyamatok futtatásával Linux alatt
  3. CoreFreq – Hatékony CPU-megfigyelő eszköz Linux rendszerekhez
  4. Keresse meg a legjobban futó folyamatokat a Linux legnagyobb memória- és processzorhasználata alapján

Összefoglalva, a CPUTool nagyon jól jön a Linux teljesítménykezeléséhez. Ossza meg gondolatait erről a cikkről az alábbi visszajelzési űrlapon keresztül.