How to Increase Number of Open Files Limit in Linux

În Linux, puteți modifica cantitatea maximă de fișiere deschise. Puteți modifica acest număr utilizând comanda ulimit. Aceasta vă acordă posibilitatea de a controla resursele disponibile pentru shell sau pentru procesul inițiat de acesta.

Citește și:

Citește și:

Citește: Set Linux Running Processes Limits on Per-Userl Level

În acest scurt tutorial vă vom arăta cum să verificați limita actuală a fișierelor deschise și descrierile fișierelor, dar pentru a face acest lucru, va trebui să aveți acces root la sistemul dumneavoastră.

În primul rând, haideți să vedem cum putem afla numărul maxim de descrieri de fișiere deschise pe sistemul dumneavoastră Linux.

Find Linux Open File Limit

Valoarea este stocată în:

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

Numărul pe care îl veți vedea, arată numărul de fișiere pe care un utilizator le poate avea deschise pe sesiune de conectare. Rezultatul poate fi diferit în funcție de sistemul dumneavoastră.

De exemplu, pe un server CentOS al meu, limita a fost setată la 818354, în timp ce pe serverul Ubuntu pe care îl folosesc acasă, limita implicită a fost setată la 176772.

Dacă doriți să vedeți limitele hard și soft, puteți folosi următoarele comenzi:

Check Hard Limit in Linux

# ulimit -Hn4096

Check Soft Limits in Linux

# ulimit -Sn1024

Pentru a vedea valorile hard și soft pentru diferiți utilizatori, puteți pur și simplu să schimbați utilizatorul cu „su” la utilizatorul ale cărui limite doriți să le verificați.

De exemplu:

# su marin$ ulimit -Sn1024
$ ulimit -Hn4096

Cum să verificați limitele descriptorilor de fișiere la nivel de sistem în Linux

Dacă rulați un server, este posibil ca unele dintre aplicațiile dvs. să necesite limite mai mari pentru descriptorii de fișiere deschise. Un bun exemplu în acest sens sunt serviciile MySQL/MariaDB sau serverul web Apache.

Puteți crește limita fișierelor deschise în Linux prin editarea directivei kernel fs.file-max. În acest scop, puteți folosi utilitarul sysctl.

Sysctl este folosit pentru a configura parametrii kernel-ului în timpul execuției.

De exemplu, pentru a crește limita de fișiere deschise la 500000, puteți utiliza următoarea comandă ca root:

# sysctl -w fs.file-max=500000

Puteți verifica valoarea curentă a fișierelor deschise cu următoarea comandă:

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

Cu comanda de mai sus, modificările pe care le-ați făcut vor rămâne active doar până la următoarea repornire. Dacă doriți să le aplicați în mod permanent, va trebui să editați următorul fișier:

# vi /etc/sysctl.conf

Adaugați următoarea linie:

fs.file-max=500000

Desigur, puteți modifica numărul conform nevoilor dumneavoastră. Pentru a verifica din nou modificările utilizați:

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

Utilizatorii vor trebui să se deconecteze și să se conecteze din nou pentru ca modificările să intre în vigoare. Dacă doriți să aplicați limita imediat, puteți utiliza următoarea comandă:

# sysctl -p

Set User Level Open File limits in Linux

Exemplele de mai sus, au arătat cum să setați limite globale, dar este posibil să doriți să aplicați limite pe bază de utilizator. În acest scop, ca utilizator root, va trebui să editați următorul fișier:

# vi /etc/security/limits.conf

Dacă sunteți administrator Linux, vă sugerez să vă familiarizați foarte bine cu acest fișier și cu ceea ce puteți face în el. Citiți toate comentariile din el, deoarece oferă o mare flexibilitate în ceea ce privește gestionarea resurselor sistemului prin limitarea utilizatorilor/grupurilor pe diferite niveluri.

Liniile pe care ar trebui să le adăugați iau următorii parametri:

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

Iată un exemplu de setare a unor limite soft și hard pentru utilizatorul marin:

## Example hard limit for max opened filesmarin hard nofile 4096## Example soft limit for max opened filesmarin soft nofile 1024

Gânduri finale

Acest scurt articol v-a arătat un exemplu de bază despre cum puteți verifica și configura limite globale și la nivel de utilizator pentru numărul maxim de fișiere deschise.

Chiar dacă noi doar am zgâriat suprafața, vă încurajez călduros să aruncați o privire mai detaliată și să citiți cu privire la /etc/sysctl.conf și /etc/security/limits.conf și să învățați cum să le folosiți. Acestea vă vor fi de mare ajutor într-o bună zi.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.