Kaip padidinti atidarytų failų skaičių „Linux“.


Linux sistemoje galite pakeisti didžiausią atidarytų failų skaičių. Galite pakeisti šį numerį naudodami komandą ulimit. Tai suteikia jums galimybę valdyti apvalkalo ar jo pradėto proceso išteklius.

Taip pat skaitykite: nustatykite „Linux“ veikimo procesų apribojimus vienam vartotojui

Šioje trumpoje pamokoje parodysime, kaip patikrinti dabartinį atidarytų failų ir failų aprašymų limitą, tačiau norėdami tai padaryti, turėsite turėti root prieigą prie savo sistemos.

Pirma, pažiūrėkime, kaip galime sužinoti maksimalų atidarytų failų aprašų skaičių jūsų „Linux“ sistemoje.

Raskite „Linux Open File Limit“.

Vertė saugoma:

cat /proc/sys/fs/file-max

818354

Skaičius, kurį matysite, rodo failų, kuriuos vartotojas gali atidaryti per prisijungimo seansą, skaičių. Rezultatas gali skirtis priklausomai nuo jūsų sistemos.

Pavyzdžiui, mano CentOS serveryje limitas buvo nustatytas į 818354, o Ubuntu serveryje, kurį naudoju namuose, numatytasis limitas buvo nustatyta į 176772.

Jei norite pamatyti griežtas ir minkštas ribas, galite naudoti šias komandas:

Patikrinkite „Linux“ griežtą ribą

ulimit -Hn

4096

Patikrinkite „Linux“ minkštąsias ribas

ulimit -Sn

1024

Norėdami pamatyti skirtingų naudotojų kietąsias ir minkštąsias reikšmes, galite tiesiog pakeisti naudotoją naudodami su į naudotoją, kurį norite patikrinti.

Pavyzdžiui:

su marin
ulimit -Sn

1024
ulimit -Hn

4096

Kaip patikrinti visos sistemos failų deskriptorių ribas sistemoje „Linux“.

Jei naudojate serverį, kai kurioms jūsų programoms gali reikėti didesnių atidarytų failų aprašų apribojimų. Puikus pavyzdys yra MySQL/MariaDB paslaugos arba Apache žiniatinklio serveris.

Galite padidinti atidarytų failų limitą sistemoje „Linux“ redaguodami branduolio direktyvą fs.file-max. Tuo tikslu galite naudoti sysctl paslaugų programą.

Sysctl naudojama branduolio parametrams konfigūruoti vykdymo metu.

Pavyzdžiui, norėdami padidinti atidarytų failų limitą iki 500 000, galite naudoti šią komandą kaip root:

sysctl -w fs.file-max=500000

Dabartinę atidarytų failų vertę galite patikrinti naudodami šią komandą:

cat /proc/sys/fs/file-max

Su aukščiau pateikta komanda atlikti pakeitimai išliks aktyvūs tik iki kito perkrovimo. Jei norite juos taikyti visam laikui, turėsite redaguoti šį failą:

vi /etc/sysctl.conf

Pridėkite šią eilutę:

fs.file-max=500000

Žinoma, galite pakeisti numerį pagal savo poreikius. Norėdami dar kartą patvirtinti pakeitimus, naudokite:

cat /proc/sys/fs/file-max

Kad pakeitimai įsigaliotų, vartotojai turės atsijungti ir vėl prisijungti. Jei norite nedelsiant pritaikyti limitą, galite naudoti šią komandą:

sysctl -p

Nustatykite naudotojo lygio atidarymo failo apribojimus sistemoje „Linux“.

Pirmiau pateikti pavyzdžiai parodė, kaip nustatyti visuotinius apribojimus, tačiau galbūt norėsite taikyti apribojimus vienam vartotojui. Tuo tikslu, kaip vartotojo root, turėsite redaguoti šį failą:

vi /etc/security/limits.conf

Jei esate „Linux“ administratorius, siūlau jums gerai susipažinti su tuo failu ir tuo, ką galite padaryti. Perskaitykite visus jame esančius komentarus, nes tai suteikia daug lankstumo tvarkant sistemos išteklius, ribojant vartotojus/grupes skirtingais lygiais.

Eilutės, kurias turėtumėte pridėti, turi šiuos parametrus:

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

Štai pavyzdys, kaip nustatyti švelnius ir griežtus naudotojo marin apribojimus:

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

Paskutinės mintys

Šiame trumpame straipsnyje parodytas pagrindinis pavyzdys, kaip galite patikrinti ir sukonfigūruoti pasaulinius ir naudotojo lygio apribojimus maksimalaus atidarytų failų skaičiui.

Kol ką tik subraižėme paviršių, labai raginu jus išsamiau pažvelgti ir perskaityti apie /etc/sysctl.conf ir /etc/security/limits.conf ir išmokti jais naudotis. Vieną dieną jie jums labai padės.