Manici di file massimi in Linux
Le maniglie dei file rappresentano il numero massimo che i singoli utenti Linux possono avere per i file aperti per sessione. IL/proc/sys/fs/file-max definisce il limite del file. Se è necessario impostare un limite temporaneo prima di un riavvio, questo è il file da modificare.
Per visualizzare il limite corrente per il numero di file aperti in un host Linux, utilizzare il comando seguente:
$ cat/proc/sys/fs/file-max
Il valore massimo dei descrittori di file aperti elencati in questo caso è per l'host Linux. Utenti diversi possono avere valori diversi rispetto all'host.
In alternativa, è possibile utilizzare il seguente comando:
$ sysctl fs.file-max
Il valore nell'output sopra rappresenta il limite massimo per un utente normale per sessione di accesso. Puoi anche ottenere i valori morbidi e duri per i descrittori usando il Ulimit comando, che offre un maggiore controllo sulle risorse e sui processi di shell avviati da esso.
Per i valori difficili, utilizzare il comando seguente:
$ Ulimit -hn
Allo stesso modo, utilizzare il comando seguente per valori morbidi:
$ Ulimit -Sn
Modifica del file/proc/sys/fs/file-max
Alcune applicazioni, come il database Oracle, richiedono un intervallo di esecuzione più elevato per i descrittori di file. In tal caso, dovrai modificare il limite di corrente massimo per i file aperti per aumentare la capacità. Modifica di questo limite significa modificare la variabile del kernel/proc/sys/fs/file-max e puoi ottenerlo in due modi.
Per il primo metodo, impostare direttamente il valore dalla riga di comando. Ad esempio, per impostare l'intervallo su 324567, Il comando sarebbe il seguente:
$ sudo syscctl -w fs.File-Max = 324567
Si noti che è necessario avere un privilegio dell'amministratore affinché questo funzioni. Verifica il nuovo limite come abbiamo fatto quando si controlla il limite massimo.
Per il metodo successivo, usalo solo se si desidera impostare permanentemente un nuovo limite massimo per i file aperti sul sistema. Il primo metodo precedentemente mostrato ripristinerà i valori predefiniti dopo un riavvio.
Per procedere con il metodo permanente, è necessario utilizzare un editor di testo come nano O vi e modifica il /etc/sysctl.conf file. Per il nostro caso, usiamo la modifica VI. Il comando sarà il seguente:
$ vi /etc /sysctl.conf
Aggiungi il fs.File-Max = 324567 con il nuovo valore di scelta. Salva ed esci dal file. I nuovi valori persisteranno anche dopo un riavvio.
Inoltre, dovrai disconnettersi dal sistema e accedere per le modifiche da influenzare. In alternativa, eseguire il seguente comando:
$ sysctl -p
Infine, verificare che il nuovo limite sia impostato utilizzando il comando precedente o elenca il contenuto del /proc/sys/fs/file-max Utilizzo del comando Cat.
$ cat/proc/sys/fs/file-max
Impostazione dei limiti FD a livello di utente
I comandi precedenti impostano i descrittori di file (FD) per l'intero sistema host. Tuttavia, non dovrai sempre modificare l'intero sistema. A volte, potrebbe essere necessario specificare l'utente specifico, il che è possibile.
Per modificare un utente specifico, aggiungerai il limite al /etc/sicurezza/limiti.conf.
Usa qualsiasi editor per aprire il file e apportare le modifiche. Per il nostro esempio, stiamo usando VI e impostando i limiti di FD soft per un utente denominato utente1.
$ sudo vi/etc/sicurezza/limiti.conf
È possibile verificare che i limiti soft che abbiamo aggiunto per l'utente specifico abbiano lavorato passando a quell'account utente utilizzando i seguenti comandi:
$ su utente1
$ Ulimit -Sn
IL -Sn è per i limiti morbidi. Nel seguente output, notiamo che il valore viene impostato su uno definito nel file di configurazione. Implica che abbiamo modificato correttamente i descrittori di file per un utente specifico.
Conclusione
Questo è tutto! Abbiamo visto come modificare il /proc/sys/fs/file-max Per visualizzare e modificare il limite massimo per i file aperti in un host Linux. Inoltre, abbiamo visto come modificare FD per un utente specifico e impostare un limite permanente o temporaneo per i file aperti in Linux.