GNU/Linux >> Linux Esercitazione >  >> Linux

Come modificare il limite di file aperti in Linux

In Linux, ci sono limiti definiti dal sistema per tutto ciò che consuma risorse. Ad esempio, ci sono limiti su quanti argomenti possono essere passati a un determinato comando, quanti thread possono essere eseguiti contemporaneamente, ecc.

Allo stesso modo, esiste un limite al numero di file aperti. Come forse saprai, un file aperto viene utilizzato attivamente in alcuni degli altri programmi e quindi consuma memoria.
Puoi visualizzare e modificare il limite del file aperto con il comando 'ulimit '.

Ora, ci sono due tipi di limiti definiti:limite rigido e Limite soft .

  • Il limite rigido per i file aperti è un valore impostato staticamente e può essere modificato solo da 'root ' utente di Linux.
  • Il limite morbido è uno che può essere modificato dai processi in modo dinamico, cioè in runtime, se il processo ha bisogno di più file aperti del numero consentito dal soft limit.

Inutile dire che un limite morbido è qualcosa che potrebbe causare problemi di sicurezza.

Controlla i limiti dei file aperti in Linux

Per visualizzare o elencare il limite rigido di file, esegui:

$ ulimit -Hn

Allo stesso modo, per la visualizzazione di limite morbido , esegui:

$ ulimit -Sn

Qui la 'S' e 'H' stanno rispettivamente per limiti soft e hard, mentre 'n' denota il numero di file aperti.

Modifica i limiti dei file aperti in Linux

Proviamo ora a modificare questi limiti semplicemente aggiungendo un terzo argomento per il nuovo valore del limite dopo 'Sn' o 'Hn' .

$ ulimit -Sn 5000
$ ulimit -Hn 5000

Tuttavia, i limiti così modificati restano temporaneamente modificati fino all'apertura della sessione (cioè del terminale). Segui i passaggi seguenti per modificare in modo permanente i limiti.

Imposta in modo permanente i limiti di file aperti in Linux

Apri il file '/etc/security/limits.conf ' in 'vim ' o qualsiasi editore di tua scelta. Nota che questo è un file protetto da scrittura e dovrebbe essere aperto con "sudo ' o come amministratore.

$ sudo vim /etc/security/limits.conf

Si noti che i limiti possono essere impostati per tutti gli utenti o per singoli utenti. La sintassi per impostare un limite rigido è:

* hard nofile 5000

Il '*' significa che il limite è per tutti gli utenti. La seconda stringa sulla riga è un tipo di limite, che è 'hard' in questo caso.

La terza stringa è il limite che vogliamo modificare. Nel nostro caso, è 'nofile' , ovvero il numero di file. In questo modo è possibile impostare anche altri limiti qui, ad es. 'noproc' per una serie di processi. Infine, la quarta stringa è il nuovo limite da impostare per il numero di file.

Se desideri impostare il limite solo per un determinato utente, puoi farlo in questo modo:

abhi soft nofile 5000

Qui 'abhi' è il nome dell'utente.

Ora aggiungeremo queste righe al file e poi vedremo se il limite è stato modificato.

Salva ed esci dal file.

Questi limiti richiederanno all'utente di disconnettersi e riconnettersi, poiché i limiti precedenti vengono ancora presi in considerazione durante l'esecuzione dei programmi. Esegui ulimit nuovamente per verificare se i limiti sono effettivamente cambiati.

$ ulimit
Conclusione

In questo articolo abbiamo visto come modificare il limite al numero di file aperti in Linux. Esegui 'ulimit --help' se vuoi conoscere il comando in modo più dettagliato.

Grazie per la lettura e facci sapere i tuoi pensieri o domande nei commenti qui sotto!


Linux
  1. Come aumentare il limite del numero di file aperti in Linux

  2. Come cambiare la shell in Linux

  3. Come rinominare un file in Linux?

  4. Come modificare il limite di timeout di MySQL in Linux?

  5. Come funzionano i limiti del descrittore di file Linux?

Come aprire un file in Linux

Comando Chmod:come modificare le autorizzazioni dei file in Linux

Come collegare simbolicamente un file in Linux

Come modificare il limite di file aperti in Linux

Come cambiare utente su Linux

Come modificare l'indirizzo IP su Linux