Una delle bellezze di Linux è che puoi controllare quasi tutto al riguardo. Ciò offre a un amministratore di sistema un grande controllo sul proprio sistema e un migliore utilizzo delle risorse di sistema.
Anche se alcuni potrebbero non aver mai pensato di farlo, è importante sapere che in Linux puoi limitare la quantità di risorse che un singolo utente può utilizzare e per quanto tempo.
Leggi anche: Come aumentare il limite del numero di file aperti in Linux
In questo breve argomento, ti mostreremo come limitare il numero di processi avviati dall'utente e come controllare i limiti attuali e modificarli.
Prima di andare oltre, ci sono due cose che dobbiamo sottolineare:
- È necessario l'accesso come root al sistema per modificare i limiti utente
- Devi prestare la massima attenzione se intendi modificare questi limiti
Per impostare i limiti utente, dovremo modificare il seguente file:
/etc/security/limits.conf
Questo file viene utilizzato per applicare ulimit creato dal pam_module .
Il file ha la seguente sintassi:
<domain> <type> <item> <value>
Qui ci fermeremo a discutere ciascuna delle opzioni:
- Dominio – questo include nomi utente, gruppi, intervalli di guid ecc.
- Digita – limiti soft e hard
- Articolo – l'elemento che sarà limitato – dimensione del core, dimensione del file, nproc ecc.
- Valore – questo è il valore per il limite dato
Un buon esempio per un limite è:
@student hard nproc 20
La riga precedente stabilisce un limite massimo di 20 processi su "student"
gruppo.
Se vuoi vedere i limiti di un certo processo puoi semplicemente "cat" il file dei limiti in questo modo:
# cat /proc/PID/limits
Dove PID è l'ID processo effettivo, puoi scoprire l'ID processo utilizzando ps comando. Per una spiegazione più dettagliata, leggi il nostro articolo che dice:Trova l'esecuzione di processi Linux e imposta i limiti di processo per livello utente
Quindi ecco un esempio:
# cat /proc/2497/limits
Risultato campione
Limit Soft Limit Hard Limit Units Max cpu time unlimited unlimited seconds Max file size unlimited unlimited bytes Max data size unlimited unlimited bytes Max stack size 8388608 unlimited bytes Max core file size 0 unlimited bytes Max resident set unlimited unlimited bytes Max processes 32042 32042 processes Max open files 1024 4096 files Max locked memory 65536 65536 bytes Max address space unlimited unlimited bytes Max file locks unlimited unlimited locks Max pending signals 32042 32042 signals Max msgqueue size 819200 819200 bytes Max nice priority 0 0 Max realtime priority 0 0 Max realtime timeout unlimited unlimited us
Tutte le righe sono praticamente autoesplicative. Tuttavia, se vuoi trovare più impostazioni puoi inserire in limits.conf file, puoi dare un'occhiata al manuale fornito qui.
Se hai domande o commenti, non esitare a inviarli nella sezione commenti qui sotto.