Daugiau
Kaip "Linux" pakeisti atidarytų failų skaičiaus ribą?
Kai paleidžiu savo programą, kartais gaunu klaidą apie daugiau nei daug atidarytų failų
.
Paleidus ulimit -a
pranešama, kad riba yra 1024. Kaip padidinti ribą virš 1024?
Edit
Naudojant ulimit -n 2048
gaunama leidimo klaida.
187
3
Visada galite pabandyti atlikti
ulimit -n 2048
. Tai tik atstatys jūsų dabartinio apvalkalo ribą, o jūsų nurodytas skaičius neturi viršyti griežtosios ribos.Kiekvienoje operacinėje sistemoje konfigūracijos faile nustatyta skirtinga kietoji riba. Pavyzdžiui, "Solaris" kietąjį atidarytų failų limitą galima nustatyti įkrovos metu iš /etc/system.
OS X sistemoje tuos pačius duomenis reikia nustatyti /etc/sysctl.conf.
Linux sistemoje šie nustatymai dažnai būna /etc/security/limits.conf.
Yra dviejų rūšių apribojimai:
Minkštąsias ribas gali nustatyti bet kuris naudotojas, o kietąsias ribas gali keisti tik root. Ribos yra proceso savybė. Jos paveldimos, kai kuriamas antrinis procesas, todėl visos sistemos ribos turėtų būti nustatomos sistemos inicializavimo metu inicializavimo scenarijuose, o naudotojo ribos turėtų būti nustatomos naudotojo prisijungimo metu, pavyzdžiui, naudojant pam_limits.
Įkraunant kompiuterį dažnai nustatomi numatytieji parametrai. Taigi, nors ulimit galite nustatyti iš naujo individualioje apvalkale, gali paaiškėti, kad perkraunant kompiuterį jis vėl bus nustatytas į ankstesnę vertę. Jei norite pakeisti numatytuosius nustatymus, įkrovos scenarijuose ieškokite ulimit egzistavimo komandų.
Jei naudojate "Linux" ir gavote leidimo klaidą, jums reikės padidinti leistiną ribą
/etc/limits.conf
arba/etc/security/limits.conf
faile (kur yra failas, priklauso nuo konkretaus "Linux" distributyvo).Pavyzdžiui, norėdami leisti bet kuriam kompiuteryje esančiam asmeniui padidinti atidarytų failų skaičių iki 10000, į failą
limits.conf
įrašykite šią eilutę.* hard nofile 10000
Tada atsijunkite ir iš naujo prisijunkite prie sistemos ir turėtumėte turėti galimybę tai padaryti:
ulimit -n 10000
be leidimo klaidos.
/etc/security/limits.conf
įrašykite šią eilutętada prisijunkite kaip webuser
pridėkite .bashrc ir .bash_profile failą paleisdami
Štai ir viskas, ir jie bum, bum, bum, bum.