GNU/Linux >> Linux Esercitazione >  >> Linux

Uso di CPUQuota in systemd

Modi alternativi per limitare l'utilizzo della CPU:1. Usa il comando taskset.2. Utilizzare i gruppi di controllo.3. Usa la finestra mobile e limita l'utilizzo della CPU usando cpuset.4. Ridurre il numero di thread nell'applicazione. Alcuni calcoli sono richiesti con questo approccio.


Un'altra cosa che potresti provare è eseguire cpulimit come demone. Non ho provato questo; è solo un'idea.

È nei repository Ubuntu:

sudo apt install cpulimit

Usa systemd se vuoi. Questo dovrebbe limitare tutti istanze di dd al 20% della CPU.

[Unit]
Description=dd CPU Limiter

[Service]
ExecStart=/usr/bin/cpulimit -e dd -l 20

[Install]
WantedBy=multi-user.target

fonte


Mi sono imbattuto accidentalmente in un'altra risposta valida fornita su https://unix.stackexchange.com/questions/213903/linux-cgroups-limit-cpu-usage-in-absolute-values-which-do-not-depend-on-cpu -spe

Se desideri un limite rigido alla larghezza di banda della CPU, puoi utilizzare cpu.cfs_quota_us e cpu.cfs_period_us. Dai documenti CFS del kernel:

La larghezza di banda consentita per un gruppo viene specificata utilizzando una quota e un periodo. All'interno di ogni dato "periodo" (microsecondi), un gruppo può consumare solo fino a "quota" microsecondi di tempo della CPU. Quando il consumo di larghezza di banda della CPU di un gruppo supera questo limite (per quel periodo), le attività appartenenti alla sua gerarchia verranno limitate e non potranno essere eseguite nuovamente fino al periodo successivo.


Linux
  1. Come utilizzare il comando Systemctl per gestire i servizi Systemd

  2. Linux:come impostare l'affinità della CPU predefinita per tutti i demoni in Systemd?

  3. Come ottenere la percentuale di utilizzo del processore con bash?

  4. Limita la memoria e la cpu con lxc-execute

  5. Come utilizzare iptables o tc per limitare i pacchetti per client.

Come impostare la memoria Docker e il limite di utilizzo della CPU

Come utilizzare il comando ulimit Linux

Come utilizzare journalctl per visualizzare e manipolare i log di Systemd

Limite di memoria e limite della CPU nel contenitore Docker

Come limitare la memoria per un servizio gestito da systemd

Come limitare un processo a un core della CPU in Linux?