Come aumentare i limiti di file aperto su Ubuntu

Come aumentare i limiti di file aperto su Ubuntu
Su un sistema a base di Linux come Ubuntu, Occasionalmente affrontiamo problemi come "Troppi file aperti,"Soprattutto quando si installa e lavori su piattaforme come Apache Web Server e Oracle Database. L'errore riscontrato significa che il nostro server ha aperto i file fino al numero massimo predefinito. Questo problema si verifica quando il sistema impone vincoli di risorse su qualsiasi utente o sessione. Ad esempio, la dimensione massima che può essere bloccata in memoria, la dimensione massima del file creato, il tempo massimo della CPU che può essere utilizzato, il numero massimo di processi che possono essere eseguiti e la dimensione massima della memoria virtuale che può essere utilizzata ; Questi sono tutti esempi di limitazioni delle risorse in un sistema Ubuntu.

Quali sono i tipi di limiti in Ubuntu

I limiti in un sistema Ubuntu sono di due tipi:

  • Limite morbido: Questo tipo di limite indica il valore corrente della sessione o dell'utente ... Un utente Ubuntu ha la possibilità di aumentare il suo valore al limite rigido.
  • Limite duro: Il superutente/root imposta il limite massimo consentito per un utente o una sessione, noto come limite hard.

Ora spiegheremo la procedura per aumentare i limiti di un file aperto su Ubuntu. Quindi iniziamo!

Come aumentare i limiti di file aperto su Ubuntu

Prima di tutto, apri il tuo terminale Ubuntu premendo "Ctrl+alt+t". Ora controlleremo i limiti attuali delle risorse. Per questo, eseguiremo il "Unlimit"Comando.

Qual è il comando illimit in ubuntu

IL "Unlimit"È un comando shell Linux utilizzato per impostare, visualizzare o limitare le risorse dell'utente corrente. Estrae anche informazioni su quanti descrittori di file aperti ogni processo. Molti utenti Ubuntu eseguono questo comando per limitare le risorse che sono in uso di un processo.

Come controllare i limiti di corrente in Ubuntu

Per visualizzare i limiti corrente impostati, aggiungi il "-UNOpzione "in"Unlimit"Comando:

$ Ulimit -A

L'esecuzione del comando sopra dato ti mostrerà il seguente output:

Come controllare i limiti di file soft and Hard Open in Ubuntu

Per visualizzare il limite soft corrente, eseguire il comando illimit con il "-Sn" opzione:

$ Ulimit -Sn

Dall'output di seguito, puoi vederlo "1024"Sono i limiti soft dei file aperti nel nostro sistema Ubuntu:

IL "-HnL'opzione "viene aggiunta a"Unlimit"Comando per il recupero del limite duro dei file aperti:

$ Ulimit -hn

Come aumentare i limiti del file aperto per la sessione corrente in Ubuntu

Come accennato in precedenza, puoi utilizzare il "Unlimit"Comando per l'impostazione dei limiti di sessione corrente. Se si desidera aumentare i limiti dei file aperti per la tua attuale sessione Ubuntu, scegli un valore tra i limiti soft e duri e aggiungi quel valore numerico specifico con "-N" opzione. Aggiungendo il “-N”Opzione a"Unlimit"Il comando ti consente di aumentare i limiti del file aperto:

$ Ulimit -N 100000

Come aumentare i limiti di file aperti per utente in Ubuntu

È inoltre possibile aumentare i limiti del file aperto per un utente specifico. Per fare ciò, aprire il file di configurazione dei limiti "/etc/sicurezza/limiti.conf" nel "nano"Editore:

$ sudo nano/etc/sicurezza/limiti.conf

Nel "nano"Editor, il file di configurazione limite sarà simile a questo:

Ora, aggiungi i seguenti contenuti in "/etc/sicurezza/limiti.conflitto file:

* Soft Nproc 65535
* Hard Nproc 65535
* Soft Nofile 65535
* Nofile duro 65535
Linuxhint Soft Nproc 100000
Linuxhint hard nproc 100000
Linuxhint Soft Nofile 100000
Linuxhint hard nofile 100000

Qui:

  • "*"Indica il Resto degli utenti di sistema escluso "Linuxhint"
  • "Linuxhint" è nostro dominio
  • "morbido" O "difficile" è il tipo limite
  • "nessun file"L'articolo è utilizzato per limitante IL Numero del descrittore dei file
  • "nproc"L'elemento definisce il limite massimo dei processi utente
  • "100000" O "65535"Sono i valori limite

Premere "Ctrl+O"E salva le modifiche che abbiamo apportato in"/etc/sicurezza/limiti.conf":

Nel prossimo passaggio, limiteremo il numero di risorse di sistema che un utente può ottenere in una singola sessione abilitando il pam_limits. Per questo, devi modificare il "/etc/pam.D/Common Session"File nel tuo"nano"Editore:

$ sudo nano /etc /pam.D/Common Session

Ora aggiungi questa riga per abilitare il pam_limits Per la sessione corrente:

Sessione richiesta PAM_LIMITS.COSÌ

Premere "Ctrl+O"Per salvare il contenuto aggiunto di" /etc/pam.D/Common Session" file:

Come aumentare i limiti di file aperti a livello di sistema in Ubuntu

Ubuntu offre anche l'opzione per aumentare i limiti di file aperti a livello di sistema. A tale scopo, modificheremo il "/etc/sysctl.conf" file:

$ sudo nano /etc /sysctl.conf

È possibile impostare il numero massimo di maniglie dei file che il kernel Linux si allocherà usando il “fs.file-max"Parametro. Ora, aggiungi la linea di seguito donata in "sysctl.conf" file:

fs.File-Max = 2097152

Impostazione del valore "2097152" per "fs.file-max"Il parametro imposterà questo valore come numero massimo di maniglie dei file:

Ancora una volta, premere "Ctrl+O"Per salvare il"sysctl.conflitto file:

IL "sysctlComando "con il"-P"L'opzione caricherà le impostazioni del kernel da"sysctl.conf" file. Per applicare le modifiche che abbiamo apportato, eseguire il di seguito "sysctl"Comando nel tuo terminale:

$ sudo syscctl -p

L'esecuzione del comando di cui sopra aumenterà il numero massimo di file aperti nell'intero sistema:

Conclusione

In Ubuntu, Molte applicazioni, come il server Web Apache o i database Oracle, richiedono un limite di file aperto più elevato, risultante in un numero eccessivo di file aperti, descrittori di file, ecc. Se il numero di file aperti supera il limite predefinito, possono sorgere difficoltà di apertura dei file e problemi di controllo degli accessi. Questo articolo ti ha mostrato Come puoi aumentare i limiti di un file aperto nel tuo sistema Ubuntu. Inoltre, hai anche visto come controllare e aumentare i limiti a livello di sistema e per utente dei file aperti.