GNU/Linux >> Znalost Linux >  >> Linux

CentOS / RHEL 6 :Jak omezit paměťové zdroje pro konkrétního uživatele pomocí cgroups

Kontrolní skupiny (strong>cgroups ) vám umožní přidělit výpočetní zdroje konkrétním procesům nebo úkolům. Sadu CPU a paměti můžete přiřadit konkrétní skupině úloh nebo dokonce konkrétnímu uživateli. Příspěvek zde podrobně popisuje kroky k přidělení definovaného paměťového prostředku pro konkrétní použití. Ulimit nebude schopen tohoto cíle dosáhnout, protože ulimit omezuje spotřebu uživatelské paměti na proces. Nejlepší možnou možností je použít cgroups. Pomocí cgroups mohou být uživatelé omezeni nejen na paměťové zdroje, ale také na CPU/IO. Podívejme se na příklad omezení paměti používané uživatelem „john“ na 100 MB.

Omezení paměti pro konkrétního uživatele

1. Upravte konfigurační soubor cgroups /etc/cgconfig.conf a přidejte níže uvedené řádky

# vi /etc/cgconfig.conf
group memlimit {
	memory {
		memory.limit_in_bytes = 104857600;    #### limit memory to 100MB
	}
}

Výše uvedený kousek kódu vytvoří cgroup s názvem memlimit kde limit je 100 MB .

2. Nyní upravte další soubor /etc/cgrules.conf a přidejte pod řádek:

# vi /etc/cgrules.conf
john memory memlimit

To řekne cgroups, že uživatel john bude přidán do memlimit cgroup a bude moci odebrat pouze 100 MB ze systému.

3. Po dokončení úprav konfiguračních souborů restartujte služby cgred a cgconfig .

# service cgred restart
# service cgconfig restart
služba cgconfig(control group config) – používá se k vytváření skupin cgroups a správě podsystémů
služba cgred (ovládací démon pro pravidla skupiny) – používá se k přesouvání úloh do cgroups podle parametrů nastavených v souboru /etc/cgrules.conf.

4. Povolte spuštění obou služeb při spuštění systému. Tím zajistíme, že konfigurační soubory /etc/cgconfig.conf a /etc/cgrules.conf jsou načteny při bootování a že jsou vytvořeny cgroups.

# chkconfig cgred on
# chkconfig cgconfig on


Linux
  1. Jak zakázat NUMA v CentOS / RHEL 6,7

  2. Jak nastavit VNC Server pro nového uživatele v CentOS/RHEL 5

  3. Jak omezit některé zdroje uživatelské paměti na CentOS/RHEL pomocí cgroup

  1. CentOS / RHEL :Jak zjistit, který uživatel spouští konkrétní příkaz?

  2. CentOS / RHEL :Jak zakázat ssh pro uživatele bez oprávnění root (povolení ssh pouze pro uživatele root)

  3. CentOS / RHEL :Jak nastavit SFTP na Chroot Jail pouze pro konkrétní skupinu

  1. CentOS / RHEL :Jak nastavit chroot jail pro vsftp pouze pro konkrétní uživatele

  2. Jak zakázat konkrétní příkaz pro konkrétního uživatele v Linuxu

  3. Jak nainstalovat balíčky pomocí dnf v CentOS/RHEL 8