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.