När du hanterar flera processer i Linux -miljöer är det idealiskt att veta hur vi kan definiera det maximala antalet öppna filer för att få en mycket mer exakt kontroll eller undvika missbruk av serverresurser. Av denna anledning är det lämpligt att vi alltid tar hänsyn till de möjligheter som vårt system erbjuder så att vi kan hantera det mer effektivt.
Gränsen för öppna filer på distros Linux kan justeras tack vare kommandot ulimit Och det är därför som denna handledning idag kommer att analysera i denna möjlighet hur man fastställer antalet öppna filer i Linux med fokus på att öka standardgränsen.
Därefter ska vi se hur vi kan förlänga den etablerade gränsen för filer som kan öppnas i Ubuntu Linux -system.
1. Känn den nuvarande filgränsen på Ubuntu Linux
Det första steget vi måste ta är att veta exakt vilken gräns för filer vi kan öppna i Linux, i det här fallet använder vi Ubuntu 17.04 Server, och för att veta detta värde kommer vi att utföra följande kommando:
cat / proc / sys / fs / file-max
FÖRSTORA
Det visade resultatet indikerar antalet filer som en användare kan öppna per inloggning och detta kommer att vara variabelt i varje Linux -distro.
2. Känn gränserna för hårdvara och programvara i Ubuntu Linux
En annan viktig aspekt att ta hänsyn till är att känna till systemets gränser både på maskin- och mjukvarunivå och detta uppnås genom att utföra följande kommandon:
ulimit -Hn ulimit -Sn
FÖRSTORA
3. Kontrollera Linux -standardgränser för filbeskrivare
När vi kör vissa applikationer på servrarna är det nödvändigt att de har ett större antal filgränser eftersom de ständigt registrerar händelser eller processer som involverar ett stort antal filer, vi kan nämna applikationer som PHP, MySQL, MariaDB, bland andra.
I dessa fall kan vi öka gränsen genom att redigera fs.file-max-fil genom nytta sysctl.
Kom ihåg att tack vare sysctl kan vi konfigurera kärnparametrarna i Linux.
Steg 1
För att representera detta kommer vi att öka gränsen för öppna filer till 600 000 för detta kommer vi att köra följande rad som root -användare:
sudo sysctl -w fs.file -max = 600000
FÖRSTORA
Steg 2
För att verifiera att den nya gränsen har fastställts korrekt kör vi följande rad:
cat / proc / sys / fs / file-max
FÖRSTORA
Steg 3
Som vi ser har gränsen fastställts av oss.
En aspekt att komma ihåg är att genom att utföra denna process kommer den fastställda gränsen endast att vara tillgänglig fram till nästa inloggning, så om vi vill att denna gräns ska vara konstant måste vi komma åt följande fil med den föredragna redigeraren:
sudo nano /etc/sysctl.confSteg 4
I den öppna filen kommer vi att lägga till följande rad i slutet:
fs.file-max = 600000
FÖRSTORA
Steg 5
Vi behåller ändringar med hjälp av knapparna:
Ctrl + O
Y vi lämnade redaktören med knapparna
Ctrl + X
Steg 6
Vi kan kontrollera filgränsen igen genom att köra följande rad:
cat / proc / sys / fs / file-maxSteg 7
Det kommer att vara nödvändigt att stänga sessionen för att tillämpa ändringarna, och om vi vill att de ska utföras omedelbart kommer vi att utföra följande kommando:
sysctl -p
4. Ställ in öppna filgränser per användare på Ubuntu Linux
Steg 1
Det är möjligt att vi vill fastställa vissa gränser för öppna filer för en viss användare i en domän, för detta måste vi komma åt följande konfigurationsfil:
sudo nano /etc/security/limits.confSteg 2
I den sista delen av detta kommer vi att se följande syntax:
Steg 3
Där måste vi lägga till användarnamnet, typen av element och gränsen för tilldelning. Vi sparar ändringarna och lämnar redigeraren.
FÖRSTORA
På detta sätt har vi möjlighet att fastställa eller öka gränserna för användare för öppna filer i olika Linux -distros och särskilt i Ubuntu Server 17.04.