Come impostare i limiti per i processi in esecuzione da parte degli utenti in Linux
Una delle bellezze di Linux è che puoi controllare quasi tutto ciò che lo riguarda. Ciò offre all'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 è possibile 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 verificare i limiti attuali e modificarli.
Prima di andare oltre ci sono due cose che dobbiamo sottolineare:
- È necessario l'accesso root al sistema per modificare i limiti utente
- È necessario prestare la massima attenzione se si prevede di 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 da pam_module.
Il file ha la seguente sintassi:
<domain> <type> <item> <value>
Qui ci fermeremo per discutere ciascuna delle opzioni:
- Dominio: include nomi utente, gruppi, intervalli guid ecc
- Tipo: limiti flessibili e rigidi
- Articolo: l'elemento che sarà limitato: dimensione principale, dimensione del file, nproc ecc.
- Valore: questo è il valore per il limite specificato
Un buon esempio per un limite è:
@student hard nproc 20
La riga precedente imposta un limite rigido di un massimo di 20 processi nel gruppo "student"
.
Se vuoi vedere i limiti di un determinato 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 il comando ps. Per una spiegazione più dettagliata, leggi il nostro articolo che dice: Trova i processi Linux in esecuzione e imposta i limiti dei processi per livello utente
Quindi ecco un esempio:
cat /proc/2497/limits
Uscita del 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 linee sono praticamente autoesplicative. Tuttavia, se desideri trovare ulteriori informazioni sulle impostazioni che puoi inserire nel file limits.conf, puoi dare un'occhiata al manuale fornito qui.
Se avete domande o commenti, non esitate a inviarli nella sezione commenti qui sotto.