CPULimit, limita l'uso che un processo fa della CPU

su CPULimit

Nel prossimo articolo daremo uno sguardo a CPULimit. Questo è uno strumento da riga di comando che limita l'utilizzo della CPU da parte di un processo (espresso in percentuale, non in tempo CPU). Ciò sarà utile per controllare i lavori batch, quando non vogliamo che un processo consumi troppi cicli della CPU.

Con l'uso di questo strumento non cambieremo il valore o altre impostazioni di priorità, ma l'uso effettivo della CPU. Inoltre, è in grado di adattarsi al carico generale del sistema, in modo dinamico e veloce. Il controllo della quantità di CPU utilizzata avviene tramite invio señales PROSSIMA FERMATA y PROSSIMO CONTO POSIX ai processi. Tutti i processi secondari e i thread del processo specificato condivideranno la stessa percentuale di CPU.

Installa CPULimit

CPULimit è disponibile nella maggior parte dei repository predefiniti di distribuzioni simili a Unix. Possiamo installarlo utilizzando i gestori di pacchetti predefiniti nella rispettiva distribuzione Gnu / Linux. Per l'esempio a portata di mano, vedremo come installarlo su Debian, Ubuntu e Linux Mint. Dovremo solo aprire un terminale (Ctrl + Alt + T) e scrivere il seguente comando al suo interno:

sudo apt-get install cpulimit

Chi vuole può consultare altre tipologie di strutture nel pagina GitHub del progetto.

Utilizzando CPULimit

Una volta installato lo strumento, è il momento di vedere come funziona. Per fare ciò, eseguiremo un programma che consuma molte risorse della CPU. I seguenti comandi devono essere eseguiti come utente root.

Creazione di uno script che consuma risorse della CPU

Per prima cosa stiamo andando creare un file chiamato derrochecpu.sh. Userò il file Editor di Vim, ma lascia che tutti usino quello che preferiscono. Da terminale (Ctrl + Alt + T) dovremo scrivere:

vim derrochecpu.sh

Una volta aperto, premeremo il tasto 'Esc' poi 'i'. Ora aggiungeremo le seguenti righe:

vim script splurgecpu

#!/bin/bash
while :; do :; done;

Fatto ciò, è il momento di salvare e uscire. Per fare questo premeremo il tasto 'Esc'e scriveremo : Wq per salvare e chiudere il file. Questo breve script si ripeterà senza interruzioni consumando il massimo utilizzo della CPU. Pertanto, si consiglia di testarlo in una macchina virtuale.

Ora renderemo eseguibile questo file. Per fare ciò, dallo stesso terminale (Ctrl + Alt + T) eseguiremo:

chmod +x derrochecpu.sh

Avvio dello script

Ora avvieremo il processo in background. Lo faremo usando il comando:

./derrochecpu.sh &

Script PID splurgeCPU

Manterremo il PID del processo. In questo caso, 6472 è il PID del processo avviato.

Verifica della quantità di CPU che consuma

Possiamo vedere la quantità di CPU consumata dal processo appena avviato, utilizzando l'estensione comando «sopra» nello stesso terminale:

top script splurgeCPU

top

Come si può vedere nello screenshot qui sopra, il processo wastecpu.sh consuma più del 96% di utilizzo della CPU. Poiché consuma molto utilizzo della CPU, è difficile eseguire altre attività. Dopo pochi minuti, il sistema potrebbe bloccarsi o bloccarsi. È qui che CPULimt viene in nostro aiuto.

Limitazione dell'utilizzo della CPU tramite PID

Ora, limitiamo l'utilizzo della CPU di questo processo utilizzando lo strumento CPULimit. Stiamo andando a limitare l'utilizzo della CPU al 35% tramite il suo PID corrispondente (di). Per farlo, esegui:

cpulimit -l 35 -p 6472 &
  • L'opzione "-35»Limita il processo a circa il 35%.
  • «-p 6472»È il PID di derrochecpu.sh che abbiamo visto prima.

Verifica dell'effetto di CPULimit

Una volta avviato il comando precedente, controlliamo nuovamente l'utilizzo della CPU del processo. Per questo useremo di nuovo il comando top:

script in alto CPULimit sperperare

top

Come puoi vedere nell'immagine sopra, l'utilizzo della CPU di wastefulcpu.sh è sceso al 35,6%, che è molto vicino al 35%. Adesso sì possiamo avere più risorse della CPU per eseguire altri processi.

Limitazione dell'utilizzo della CPU in base al nome del file

Abbiamo visto come limitare un processo utilizzando il PID. Pure possiamo eseguire il comando CPULimit specificando il nome del file di programma eseguibile.

Ad esempio, lo stesso esempio sopra sarebbe:

cpulimit -l 30 ./derrochecpu.sh &

CPULimit può essere utile durante l'esecuzione di un processo che consuma troppo utilizzo della CPU. La prossima volta che noteremo che un programma consuma troppa CPU, dovremo semplicemente trovare il PID del processo usando il comando «top«. Quando ce l'hai, devi solo limitare l'utilizzo della CPU a un valore minimo utilizzando il comando CPULimit come descritto in questo articolo.

Disinstalla CPULimit

Rimuovere questo strumento dal nostro sistema è semplice come aprire un terminale (Ctrl + Alt + T) e digitarlo:

sudo apt remove cpulimit

Cosa ha descritto questo articolo è solo un esempio. Ovviamente, nessuno sano di mente lancerà uno script come quello descritto qui sul proprio computer.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   javp suddetto

    Ciao:
    È perfetto per un vecchio PC che ho con un amd64 x2 che sembra avere un problema di raffreddamento e quando un processo consuma molta CPU per diversi minuti, si riscalda fino a 100º C e si spegne.
    Quindi, quando vedo che un processo (generalmente alcuni siti Web o programmi di rendering video) mi sta facendo aumentare la temperatura della CPU, userò cpulimit per rimuovere "potenza" da quel processo.
    grazie