Weboldal keresés

Egy folyamat CPU-használatának korlátozása Linuxban a CPULimit eszközzel


Egy korábbi bejegyzésünkben elmagyaráztuk a CPUToolt, amellyel korlátozható és vezérelhető bármely folyamat CPU-használata Linuxban. Lehetővé teszi a rendszergazda számára, hogy megszakítsa egy folyamat (vagy folyamatcsoport) végrehajtását, ha a CPU/rendszer terhelése túllép egy meghatározott küszöbértéket. Itt megtudjuk, hogyan kell használni a cpulimit nevű hasonló eszközt.

A Cpulimit a folyamat CPU-használatának korlátozására szolgál, ugyanúgy, mint a CPUTool, azonban a megfelelőjéhez képest több használati lehetőséget kínál. Az egyik fontos különbség az, hogy a cpulimit a cputool-tól eltérően nem kezeli a rendszerterhelést.

Javasolt olvasmány: 9 hasznos parancs a CPU információinak lekéréséhez Linuxon

Telepítse a CPULimimit egy folyamat CPU-használatának korlátozásához Linuxban

A CPULimit a Debian/Ubuntu és származékai alapértelmezett szoftvertáraiból telepíthető csomagkezelő eszköz segítségével.

sudo apt install cpulimit

A RHEL/CentOS és a Fedora rendszerben először engedélyeznie kell az EPEL-tárat, majd telepítenie kell a cpulimit az ábrán látható módon.

# yum install epel-release
# yum telepítse a cpulimit

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

Ebben az alszakaszban elmagyarázzuk, hogyan működik a cpulimit. Először futtassunk egy parancsot (ugyanaz a dd parancs, amelyet a cputool lefedésekor megnéztünk), aminek magas CPU-százalékot kell eredményeznie a háttérben (vegye figyelembe, hogy a folyamat PID a parancs futtatása után kerül kinyomtatásra) .

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

[1] 17918

Ezután használhatjuk a top vagy glances eszközöket, amelyek egy futó Linux rendszer aktuális, gyakran frissített állapotát adják ki, hogy figyeljük a fenti parancs CPU-használatát.

top

Ha megnézzük a fenti kimenetet, láthatjuk, hogy a dd folyamat használja a CPU-idő legnagyobb százalékát 100,0%.

De ezt a cputlimit használatával korlátozhatjuk a következőképpen. A --pid vagy -p opció a PID megadására szolgál, a --limit vagy -l pedig egy folyamat használati százalékának beállítására szolgál.

Az alábbi parancs a dd parancsot (PID 17918) egy CPU mag 50%-ára korlátozza.

sudo cpulimit --pid 17918 --limit 50  

Process 17918 detected

A cpulimit futtatása után felülről vagy pillantással megtekinthetjük a dd parancs aktuális CPU-használatát. A kimeneten belül az érték (51,5%-55,0% vagy valamivel nagyobb) között mozog.

A CPU-használatát másodszor is lefojthatjuk az alábbiak szerint, ezúttal tovább csökkentve a százalékot az alábbiak szerint:

sudo cpulimit --pid 17918 --limit 20 

Process 17918 detected

Ahogy korábban is tettük, felülről vagy pillantásokkal megtekinthetjük a folyamathoz tartozó új CPU-használatot, amely 20–25,0% vagy ennél valamivel nagyobb tartományban lesz.

top

Megjegyzés: A shell interaktívvá válik – a cpulimit futása közben nem vár semmilyen felhasználói bevitelt. A leállításához (aminek le kell állítania a CPU-használat korlátozását) nyomja meg a [Ctrl + C] billentyűt.

A cpulimit háttérfolyamatként való futtatásához használja a --background vagy a -b kapcsolót, ezzel felszabadítva a terminált.

sudo cpulimit --pid 17918 --limit 20 --background

A rendszerben lévő CPU magok számának megadásához használja a --cpu vagy a -c jelzőt (ezt általában a rendszer automatikusan észleli).

sudo cpulimit --pid 17918 --limit 20 --cpu 4

A folyamat CPU-használatának korlátozása helyett a --kill vagy a -k opcióval leállíthatjuk. Az alapértelmezés szerint a folyamatnak küldött jel a SIGCONT, de más jel küldéséhez használja a --signal vagy a -s jelzőt.

sudo cpulimit --pid 17918 --limit 20 --kill 

A kilépéshez, ha nincs megfelelő célfolyamat, vagy ha az elhal, adja meg a -z vagy a --lazy karakterláncot, mint ez.

sudo cpulimit --pid 17918 --limit 20 --kill --lazy

További információkért és használati lehetőségekért tekintse meg a cpulimit kézikönyvoldalát.

man cpulimit

Tekintse meg a következő hasznos útmutatókat a CPU információinak és a CPU/rendszer teljesítményének figyeléséhez.

  1. Keresse meg a legjobban futó folyamatokat a Linux legnagyobb memória- és processzorhasználata alapján
  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
  5. 20 parancssori eszköz a Linux teljesítményének figyelésére
  6. 13 Linux Performance Monitoring Tools – 2. rész

Összehasonlításképpen, a CPUTool és a CPULimit tesztelése után észrevettük, hogy az előbbi hatékonyabb és megbízhatóbb „folyamat CPU-használat korlátozása” funkciót kínál.

Ez a CPU-használat százalékos tartománya szerint történik, miután mindkét eszközt futtatták egy adott folyamaton. Próbálja ki mindkét eszközt, és írja be gondolatait ehhez a cikkhez az alábbi visszajelzési űrlap segítségével.