Ricerca nel sito web

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:

  1. È necessario l'accesso root al sistema per modificare i limiti utente
  2. È 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.