Su Linux, possiamo usare il comando ulimit -n per vedere il numero massimo di handle file che un singolo processo può aprire (vengono conteggiate anche le connessioni socket). sistemaIl valore predefinito è 1024。
Per applicazioni generali (come Apache, processi di sistema) 1024 è completamente sufficiente. Tuttavia, è un po' allungato per applicazioni a singolo processo come Squid, MySQL e Java. Se il numero di handle di file aperti da un singolo processo supera il valore definito dal sistema, viene menzionato il messaggio di errore "too many files open".
Visualizza il numero massimo di handle file impostati dal sistema
LSOF (List Open Files) è uno strumento che elenca i file attualmente aperti sul sistema. Nell'ambiente Linux, tutto esiste sotto forma di file, attraverso i quali non solo si possono accedere ai dati generali, ma anche alle connessioni di rete e all'hardware. Quindi, in background, come i socket del Transmission Control Protocol (TCP) e del User Datagram Protocol (UDP), il sistema assegna un descrittore di file all'applicazione, indipendentemente dalla natura del file, che fornisce un'interfaccia comune per l'interazione tra l'applicazione e il sistema operativo sottostante. Poiché la lista dei descrittori per i file aperti dell'applicazione fornisce molte informazioni sull'applicazione stessa, avere lo strumento LSOF per visualizzare questa lista sarà molto utile per il monitoraggio e la risoluzione dei problemi di sistema.
Il comando di installazione è il seguente:
Contare il numero totale di handle file attualmente aperti nel sistema:
Modi per visualizzare il numero di handle file aperti dal processo di candidatura:
Set ulimit
Ambientazioni temporanee
In effetti, il comando ulimit stesso è diviso in vincoli morbidi e rigidi, plus-h è il limite rigido e plus-s è il limite morbido. Di default, i limiti soft vengono visualizzati: se non aggiungi -H o -S quando esegui il comando ulimit per modificare, i due parametri vengono cambiati insieme.
Qual è la differenza tra limiti morbidi e rigidi?
Un limite rigido è il limite effettivo, mentre un limite morbido è un limite di avvertimento, che fornisce solo un avviso.
Ambientazione permanente
il valore ulimits è permanente e il file di configurazione /etc/security/limits.conf deve essere modificato
(Fine)
|