Prilikom upravljanja s više procesa u Linux okruženjima, idealno je znati kako možemo definirati najveći broj otvorenih datoteka kako bismo imali puno precizniju kontrolu ili izbjegli zlouporabu resursa poslužitelja. Iz tog razloga, prikladno je da uvijek uzimamo u obzir mogućnosti koje nudi naš sustav kako bismo njime mogli učinkovitije upravljati.
Granica otvorenih datoteka na distribucijama Linux može se podesiti zahvaljujući naredbi ulimit I zato će danas ovaj vodič kroz ovu priliku analizirati kako ustanoviti broj otvorenih datoteka u Linuxu usredotočujući se na povećanje zadanog ograničenja.
Zatim ćemo vidjeti kako možemo proširiti utvrđeno ograničenje datoteka koje se mogu otvoriti u Ubuntu Linux sustavima.
1. Upoznajte trenutačno ograničenje datoteka na Ubuntu Linuxu
Prvi korak koji moramo poduzeti je znati točno koje ograničenje datoteka možemo otvoriti u Linuxu, u ovom slučaju koristimo Ubuntu 17.04 poslužitelj, a da bismo znali ovu vrijednost izvršit ćemo sljedeću naredbu:
cat / proc / sys / fs / file-max
POVEĆAJTE
Prikazani rezultat označava broj datoteka koje korisnik može otvoriti po prijavi, a to će biti promjenjivo u svakom Linux distribuciji.
2. Upoznajte granice hardvera i softvera u Ubuntu Linuxu
Drugi važan aspekt koji treba uzeti u obzir je poznavanje granica sustava i na razini hardvera i softvera, a to se postiže izvršavanjem sljedećih naredbi:
ulimit -Hn ulimit -Sn
POVEĆAJTE
3. Provjerite zadana ograničenja Linuxa za deskriptore datoteka
Kada pokrećemo određene aplikacije na poslužiteljima, potrebno je da imaju veći broj datoteka budući da stalno registriraju događaje ili procese koji uključuju veliki broj datoteka, možemo spomenuti aplikacije poput PHP, MySQL, MariaDB, među drugi.
U tim slučajevima ograničenje možemo povećati uređivanjem fs.file-max datoteka putem komunalnog sysctl.
Upamtite da zahvaljujući sysctl -u možemo konfigurirati parametre jezgre u Linuxu.
Korak 1
Da bismo to predstavili, povećat ćemo ograničenje otvorenih datoteka na 600.000, za to ćemo izvršiti sljedeći redak kao root korisnik:
sudo sysctl -w fs.file -max = 600000
POVEĆAJTE
Korak 2
Kako bismo provjerili je li novo ograničenje ispravno uspostavljeno, izvršit ćemo sljedeći redak:
cat / proc / sys / fs / file-max
POVEĆAJTE
Korak 3
Kao što vidimo, granicu smo sami postavili.
Jedan aspekt koji treba imati na umu je da će provođenjem ovog procesa utvrđeno ograničenje biti dostupno samo do sljedeće prijave, pa ako želimo da ovo ograničenje bude konstantno, moramo pristupiti sljedećoj datoteci pomoću željenog uređivača:
sudo nano /etc/sysctl.confKorak 4
U otvorenu datoteku na kraju ćemo dodati sljedeći redak:
fs.file-max = 600000
POVEĆAJTE
Korak 5
Zadržavamo promjene pomoću tipki:
Ctrl + O
Y napustili smo urednika pomoću ključeva
Ctrl + X
Korak 6
Ograničenje broja datoteka možemo ponovno provjeriti izvršavanjem sljedećeg retka:
cat / proc / sys / fs / file-maxKorak 7
Bit će potrebno zatvoriti sesiju kako bi se primijenile promjene, a ako želimo da se odmah izvrše, izvršit ćemo sljedeću naredbu:
sysctl -p
4. Postavite ograničenja otvorenih datoteka po korisniku na Ubuntu Linuxu
Korak 1
Moguće je da želimo uspostaviti određena ograničenja otvorenih datoteka za određenog korisnika u domeni, za to moramo pristupiti sljedećoj konfiguracijskoj datoteci:
sudo nano /etc/security/limits.confKorak 2
U posljednjem dijelu ovoga vidjet ćemo sljedeću sintaksu:
Korak 3
Tamo moramo dodati korisničko ime, vrstu elementa i ograničenje za dodjelu. Spremamo promjene i izlazimo iz uređivača.
POVEĆAJTE
Na ovaj način imamo priliku uspostaviti ili povećati ograničenja za korisnike za otvorene datoteke u različitim Linux distribucijama, a posebno u Ubuntu poslužitelju 17.04.