GNU/Linux >> Linux Esercitazione >  >> Linux

Come aumentare il limite del numero di file aperti in Linux

In Linux, puoi modificare la quantità massima di file aperti. Puoi modificare questo numero utilizzando ulimit comando. Ti dà la possibilità di controllare le risorse disponibili per la shell o il processo avviato da essa.

Leggi anche: Imposta i limiti dei processi di esecuzione di Linux a livello per utente

In questo breve tutorial ti mostreremo come controllare il tuo attuale limite di file aperti e descrizioni di file, ma per farlo dovrai avere l'accesso come root al tuo sistema.

Per prima cosa, vediamo come possiamo scoprire il numero massimo di descrittori di file aperti sul tuo sistema Linux.

Trova il limite di file aperti di Linux

Il valore è memorizzato in:

# cat /proc/sys/fs/file-max

818354

Il numero che vedrai mostra il numero di file che un utente può aver aperto per sessione di accesso. Il risultato potrebbe essere diverso a seconda del tuo sistema.

Ad esempio su un CentOS server del mio, il limite è stato impostato su 818354 , mentre sei su Ubuntu server che eseguo a casa il limite predefinito è stato impostato su 176772 .

Se vuoi vedere i limiti hard e soft, puoi usare i seguenti comandi:

Verifica limite rigido in Linux

# ulimit -Hn

4096

Verifica i limiti morbidi in Linux

# ulimit -Sn

1024

Per visualizzare i valori hard e soft per utenti diversi, puoi semplicemente cambiare utente con "su" all'utente quali limiti vuoi controllare.

Ad esempio:

# su marin
$ ulimit -Sn

1024
$ ulimit -Hn

4096

Come controllare i limiti dei descrittori di file a livello di sistema in Linux

Se stai eseguendo un server, alcune delle tue applicazioni potrebbero richiedere limiti più elevati per i descrittori di file aperti. Un buon esempio sono MySQL/MariaDB servizi o Apache server web.

Puoi aumentare il limite di file aperti in Linux modificando la direttiva del kernel fs.file-max . A tale scopo, puoi utilizzare sysctl utilità.

Sistema viene utilizzato per configurare i parametri del kernel in fase di esecuzione.

Ad esempio, per aumentare il limite di file aperti a 500000 , puoi usare il seguente comando come root:

# sysctl -w fs.file-max=500000

Puoi controllare il valore corrente per i file aperti con il seguente comando:

$ cat /proc/sys/fs/file-max

Con il comando sopra le modifiche che hai apportato rimarranno attive solo fino al prossimo riavvio. Se desideri applicarli in modo permanente, dovrai modificare il seguente file:

# vi /etc/sysctl.conf

Aggiungi la seguente riga:

fs.file-max=500000

Naturalmente, è possibile modificare il numero in base alle proprie esigenze. Per verificare nuovamente le modifiche utilizzare:

# cat /proc/sys/fs/file-max

Gli utenti dovranno disconnettersi e accedere nuovamente affinché le modifiche abbiano effetto. Se vuoi applicare il limite immediatamente, puoi utilizzare il seguente comando:

# sysctl -p

Imposta limiti di file aperti a livello utente in Linux

Gli esempi precedenti hanno mostrato come impostare limiti globali, ma potresti voler applicare limiti per utente. A tale scopo, come utente root, dovrai modificare il seguente file:

# vi /etc/security/limits.conf

Se sei un amministratore Linux, ti suggerisco di acquisire molta familiarità con quel file e cosa puoi fare per esso. Leggi tutti i commenti al suo interno in quanto offre una grande flessibilità in termini di gestione delle risorse di sistema limitando utenti/gruppi a diversi livelli.

Le righe che dovresti aggiungere prendono i seguenti parametri:

<domain>        <type>  <item>  <value>

Ecco un esempio di impostazione di limiti soft e hard per l'utente marin :

## Example hard limit for max opened files
marin        hard nofile 4096
## Example soft limit for max opened files
marin        soft nofile 1024

Pensieri finali

Questo breve articolo ti ha mostrato un esempio di base di come puoi controllare e configurare i limiti globali e a livello di utente per il numero massimo di file aperti.

Anche se abbiamo appena scalfito la superficie, ti consiglio vivamente di dare un'occhiata più dettagliata e leggere riguardo a /etc/sysctl.conf e /etc/security/limits.conf e impara come usarli. Ti saranno di grande aiuto un giorno.


Linux
  1. Come aumentare il numero di inode del disco in Linux

  2. Come rinominare i file in Linux

  3. Come aprire Appimage in Linux

  4. Come comprimere più file su Linux

  5. Numero massimo massimo consentito di file aperti in Linux

Come modificare il limite di file aperti in Linux

Come copiare un gran numero di file in Linux

Come eseguire il ping di un numero di porta in Linux

Come aprire un PDF in un terminale Linux

Come contare il numero di file in una directory in Linux

Come comprimere un file in Linux