Linux-kommandon

Hur man ställer in ulimitvärde permanent

Hur man ställer in ulimitvärde permanent

I Linux är ulimit ett inbyggt verktyg för att hantera resurstilldelning på global, grupp- och användarnivå. För ett fleranvändarsystem som Linux är en sådan funktion nästan viktigast att ha. Det kan förhindra förbrukning av oönskade systemresurser som RAM och CPU-ström.

Kolla in hur du ställer in ulimit-värde permanent på Linux.

Ulimit-värde

Ulimit verkställer den fördefinierade gränsen för hur mycket resurser en användare kan använda. Verktyget använder en viss konfigurationsfil som kärnan för att tilldela ulimit-värdena. För mer finjusterad kontroll är det bättre att redigera filen.

$ cat / etc / säkerhet / gränser.konf


Det finns två typer av gränser som kan införas: mjuka och hårda gränser. Det är bättre att förklara dessa typer med ett enkelt exempel.

Låt oss säga att en systemadministratör vill att en viss användare ska sväva runt ett visst värde. Här kan användaren överskrida värdet om det behövs men inte svårt bundna av det. I det här fallet blir det en mjuk gräns. Å andra sidan, om administratören strikt vill införa gränsen, blir det en hård gräns.

Använda ulimit

Ulimit är ett kommandoradsverktyg. Här är den grundläggande strukturen för ulimit-kommandot.

$ ulimit

Visa alla gränser

Flaggan “-a” visar alla alternativ och konfigurationer för en viss användare. Om ingen användare har definierats skriver den ut gränserna för den aktuella användaren istället.

$ ulimit -a

$ ulimit -a


För att visa en användares mjuka gränser, använd “-S” -flaggan.

$ ulimit -Sa


Använd “-H” -flaggan för att visa de hårda gränserna för en användare.

$ ulimit -Ha


Det är möjligt att se gränserna för en viss process. Detaljerna finns i följande fil. Observera att det är en unik fil för var och en av de processer som för närvarande körs. Byt PID-fältet med PID för målprocessen.

$ cat / proc // gränser

Begränsa parametrar

För att ändra ulimit måste du ange vilken typ av gräns du vill definiera. Här är en kortlista med alla tillgängliga parametrar du kan ändra. Nästan alla definierar maximivärdet för var och en av parametrarna.

  • b: Sockelbuffertstorlek
  • c: Storleken på de skapade kärnfilerna
  • d: Processens datasegmentstorlek
  • e: Schemaläggningsprioritet (“trevligt” värde)
  • f: Antal filer som skapats av skalet
  • i: Antal väntande signaler
  • l: Storlek för att låsa i minnet
  • m: Residentens storlek
  • n: Antal öppna filbeskrivare
  • p: Rörbuffertstorlek
  • q: Antal byte i POSIX-meddelandeköer
  • r: Schemaläggningsprioritet i realtid
  • s: Stackstorlek
  • t: CPU-tid (i sekunder)
  • T: Antal trådar
  • u: Antalet tillgängliga processer för en användare
  • v: Mängden tillgängligt virtuellt minne att bearbeta
  • x: Antal fillås

Ändra ulimit-värdet tillfälligt

Det är möjligt att tillfälligt ändra värdet på ulimit för en viss användare. Ändringen fortsätter att gälla tills användaren loggas ut, sessionen går ut eller systemet startas om. Här visar jag ett exempel på hur man ställer in maxprocessnumret för en användare.

Om du vill ändra antalet tillgängliga processer till 12345 kör du följande kommando. Det kommer att införa en tillfällig hård gräns för användaren.

$ ulimit -u

$ ulimit -u 12345


Kontrollera den hårda gränsen.

$ ulimit -Hu

Ändra ulimit-värdet permanent

Som tidigare nämnts använder ulimit en systemkonfigurationsfil som bestämmer standardvärdet för ulimit. Genom att göra ändringar i den här filen kan du ändra ulimitvärdet permanent för alla användare.

Öppna filen i din favorittextredigerare. Observera att filen måste öppnas med rootbehörighet för att ändringarna ska kunna sparas.

$ sudo vim / etc / säkerhet / gränser.konf


Här följer filens poster följande struktur.

$

Låt oss få en snabb uppdelning av vart och ett av fälten.

  • domän: Användarnamn, grupper, GUID-intervall osv.
  • typ: Typ av gräns (mjuk / hård)
  • artikel: Resursen som kommer att vara begränsad, till exempel kärnstorlek, nproc, filstorlek, etc.
  • värde: Gränsvärdet

Här är en kortlista med alla tillgängliga artiklar.

  • kärna: Begränsar kärnfilsstorlek (i KB)
  • CPU: CPU-tid (i min)
  • data: Datastorlek (i KB)
  • fsize: Filstorlek (i KB)
  • lås: Fillås som användaren kan hålla
  • memlock: Låst i minnesadressutrymme (i KB)
  • nproc: Antal processorer
  • rtpio: Prioritet i realtid
  • sigpending: Antal väntande signaler

För en fullständig lista över tillgängliga artiklar, kolla in man-sidan med gränser.konf.

$ man gränser.konf


Till exempel skulle följande post begränsa antalet CPU-kärnor som användaren ”Viktor” kan använda ner till 2.

$ viktor hård nproc 2

När du har redigerat sparar du den. För att genomföra ändringarna måste de berörda användarna logga ut och logga in igen. Beroende på hur den implementeras kan det också kräva att systemet startas om.

Slutgiltiga tankar

Ulimit-verktyget erbjuder ett kraftfullt sätt att hantera resurser. Det är enkelt men ändå kraftfullt i vad det gör. Oavsett vad du gör, se till att gränsen du ska införa är korrekt angiven. Om du testar dessa saker för första gången, försök först att testa dem på en virtuell maskin.

Ulimit-kommandot innehåller mer än vad jag har diskuterat här. Om du vill lära dig mer, kolla in kommandot Linux ulimit.

Happy computing!

Bästa Gamepad Mapping Apps för Linux
Om du gillar att spela spel på Linux med en gamepad istället för ett typiskt tangentbord och musinmatningssystem, finns det några användbara appar för...
Användbara verktyg för Linux-spelare
Om du gillar att spela spel på Linux är chansen att du kan ha använt appar och verktyg som Wine, Lutris och OBS Studio för att förbättra spelupplevels...
HD Remastered Games för Linux som aldrig tidigare hade en Linux-version
Många spelutvecklare och utgivare kommer med HD-remaster av gamla spel för att förlänga livstiden för franchisen, snälla fans som begär kompatibilitet...