GNU/Linux >> Linux Esercitazione >  >> Linux

CentOS / RHEL 6:come limitare le risorse di memoria per un utente specifico utilizzando cgroup

Gruppi di controllo (strong>cgroups ) consentono di allocare risorse informatiche a processi o attività specifici. È possibile assegnare un insieme di CPU e memoria a un gruppo specifico di attività o anche a un utente specifico. Il post qui descrive in dettaglio i passaggi per allocare una risorsa di memoria definita per un uso specifico. Ulimit non sarà in grado di raggiungere questo obiettivo poiché ulimit limita il consumo di memoria dell'utente per processo. La migliore opzione possibile è usare cgroups. Con cgroups gli utenti possono essere limitati non solo alle risorse di memoria ma anche alla CPU/IO. Vediamo un esempio per limitare la memoria utilizzata dall'utente "john" a 100 MB.

Limitazione della memoria per un utente specifico

1. Modifica il file di configurazione di cgroups /etc/cgconfig.conf e aggiungi le righe seguenti

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

Sopra una parte di codice verrà creato un cgroup chiamato memlimit dove il limite è 100 MB .

2. Ora modifica un altro file /etc/cgrules.conf e aggiungi sotto la riga:

# vi /etc/cgrules.conf
john memory memlimit

Questo dirà a cgroups che l'utente john sarà aggiunto a memlimit cgroup e sarà in grado di prendere solo 100 MB dal sistema.

3. Una volta terminata la modifica dei file di configurazione, riavviare i servizi cgred e cgconfig .

# service cgred restart
# service cgconfig restart
servizio cgconfig (configurazione gruppo di controllo) – utilizzato per creare cgroup e gestire sottosistemi
servizio cgred (control group rules engine daemon) – utilizzato per spostare le attività in cgroup in base ai parametri impostati nel file /etc/cgrules.conf.

4. Abilitare entrambi i servizi per l'avvio all'avvio del sistema. Con questo ci assicuriamo che i file di configurazione /etc/cgconfig.conf e /etc/cgrules.conf vengano letti all'avvio e vengano creati i cgroup.

# chkconfig cgred on
# chkconfig cgconfig on


Linux
  1. Come disabilitare NUMA in CentOS / RHEL 6,7

  2. Come limitare alcune risorse di memoria utente su CentOS/RHEL usando cgroup

  3. CentOS / RHEL:come trovare quale utente esegue un comando specifico?

  4. CentOS / RHEL:come disabilitare ssh per utenti non root (consentendo ssh solo per utente root)

  5. CentOS / RHEL:come impostare SFTP su Chroot Jail solo per un gruppo specifico

Come aggiungere un utente a un gruppo su RHEL 8 / CentOS 8

Come limitare l'utente root in CentOS

Come installare Zenoss Core per il monitoraggio su Linux CentOS / RHEL

CentOS / RHEL 6:come avviare in modalità utente singolo

Come aggiungere le impostazioni internazionali su CentOS/RHEL 8

Come limitare la memoria per un servizio gestito da systemd