GNU/Linux >> Znalost Linux >  >> Linux

Použití CPUQuota v systemd

Alternativní způsoby, jak omezit využití procesoru:1. Použijte příkaz taskset.2. Použijte kontrolní skupiny.3. Použijte docker a omezte využití procesoru pomocí cpuset.4. Snižte počet vláken v aplikaci. Tento přístup vyžaduje určité výpočty.


Další věc, kterou můžete zkusit, je spustit cpulimit jako démon. Toto jsem netestoval; je to jen nápad.

Je to v repozitářích ubuntu:

sudo apt install cpulimit

Pokud chcete, použijte systemd. To by mělo omezit vše instance dd na 20 % CPU.

[Unit]
Description=dd CPU Limiter

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

[Install]
WantedBy=multi-user.target

zdroj


Náhodou jsem narazil na jinou platnou odpověď uvedenou na https://unix.stackexchange.com/questions/213903/linux-cgroups-limit-cpu-usage-in-absolute-values-which-do-not-depend-on-cpu -spe

Pokud chcete pevný limit na šířku pásma CPU, můžete použít cpu.cfs_quota_us a cpu.cfs_period_us. Z dokumentů CFS jádra:

Šířka pásma povolená pro skupinu je určena pomocí kvóty a období. V rámci každé dané „periody“ (mikrosekundy) může skupina spotřebovat pouze „kvótu“ mikrosekund CPU času. Když spotřeba šířky pásma CPU skupiny překročí tento limit (pro dané období), úlohy patřící do její hierarchie budou omezeny a nebudou moci znovu běžet až do dalšího období.


Linux
  1. Jak používat příkaz Systemctl ke správě služeb Systemd

  2. Jak Systemd používá skripty /etc/init.d?

  3. Linux – Jak omezit proces na jedno jádro CPU v Linuxu?

  1. Jak použít Systemd k restartování služby, když je vypnutá?

  2. Jak omezit paměť pro službu spravovanou systemd

  3. Nelze použít regulátor cpufreq uživatelského prostoru a nastavit frekvenci procesoru

  1. Použijte systemd časovače místo cronjobů

  2. Jak omezit využití CPU procesu v Linuxu

  3. Správný způsob použití OnFailure v systemd