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:
- 9 hasznos parancs a CPU-információk lekéréséhez Linuxon
- Cpustat – Figyeli a CPU kihasználtságát a folyamatok futtatásával Linux alatt
- CoreFreq – Hatékony CPU-megfigyelő eszköz Linux rendszerekhez
- 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.