Hvordan sette Ulimit -verdien permanent

Hvordan sette Ulimit -verdien permanent

I Linux er Ulimit et innebygd verktøy for å administrere ressursfordeling på global, gruppe og brukernivå. For et flerbrukersystem som Linux er en slik funksjon nesten avgjørende for å ha. Det kan forhindre forbruk av uønskede systemressurser som RAM, og CPU -kraft.

Sjekk ut hvordan du angir Ulimit -verdien permanent på Linux.

Ulimit -verdi

Ulimit håndhever den forhåndsdefinerte grensen for hvor mye ressurser en bruker kan bruke. Verktøyet bruker en viss konfigurasjonsfil som kjernen for å tilordne Ulimit -verdiene. For mer finjustert kontroll er det bedre å redigere filen.

$ katt/etc/sikkerhet/grenser.konf


Det er to typer grenser som kan pålegges: myke og harde grenser. Det er bedre å forklare disse typene med et enkelt eksempel.

La oss si at en systemadministrator ønsker at en bestemt bruker skal sveve rundt en viss verdi. Her kan brukeren overstige verdien om nødvendig, men ikke hardt bundet av den. I dette tilfellet vil det være en myk grense. På den annen side, hvis administratoren strengt tatt pålegger grensen, vil det være en vanskelig grense.

Bruke Ulimit

Ulimit er et kommandolinjeverktøy. Her er den grunnleggende strukturen i Ulimit -kommandoen.

$ ulimit

Vis alle grenser

"-A" -flagget vil liste opp alle alternativene og konfigurasjonene for en bestemt bruker. Hvis ingen bruker er definert, skriver den ut grensene for den nåværende brukeren i stedet.

$ ulimit -a
$ ulimit -a


For å vise de myke grensene til en bruker, bruk "-s" -flagget.

$ ulimit -sa


For å vise de harde grensene for en bruker, bruk "-h" -flagget.

$ ulimit -ha


Det er mulig å se grensene for en viss prosess. Detaljene er lokalisert i følgende fil. Merk at det er en unik fil for hver av prosessene som for øyeblikket kjører. Bytt PID -feltet med PID i målprosessen.

$ katt /proc //grenser

Begrens parametere

For å endre ulimit, må du erklære hvilken type grense du vil definere. Her er en kortliste med alle tilgjengelige parametere du kan endre. Nesten alle av dem definerer den maksimale verdien for hver av parametrene.

  • B: Socket bufferstørrelse
  • C: Størrelsen på kjernefiler opprettet
  • D: Prosessens datasegmentstørrelse
  • E: Planleggingsprioritet (“Fin” verdi)
  • F: Antall filer opprettet av skallet
  • I: Antall ventende signaler
  • L: Størrelse å låse seg i minnet
  • M: Resident Set Size
  • N: Antall åpne filbeskrivelser
  • P: Rørbufferstørrelse
  • Spørsmål: Antall byte i Posix -meldingskøer
  • R: sanntidsplanleggingsprioritet
  • S: Stackstørrelse
  • T: CPU -tid (på sekunder)
  • T: Antall tråder
  • U: Antall prosesser tilgjengelig for en bruker
  • V: mengden virtuelt minne tilgjengelig for prosess
  • X: Antall fillåser

Endre Ulimit -verdi midlertidig

Det er mulig å endre verdien av Ulimit midlertidig for en bestemt bruker. Endringen vil forbli effektiv til brukeren er logget ut, økten utløper eller systemet starter på nytt. Her skal jeg vise et eksempel på hvordan du angir det maksimale prosessnummeret for en bruker.

For å endre antall tilgjengelige prosesser til 12345, kjør følgende kommando. Det vil pålegge brukeren en midlertidig hard grense.

$ ulimit -u
$ ulimit -u 12345


Sjekk ut den harde grensen for å bekrefte.

$ ulimit -hu

Endre Ulimit -verdien permanent

Som nevnt tidligere, bruker Ulimit en systemkonfigurasjonsfil som bestemmer standard Ulimit -verdien. Ved å gjøre endringer i denne filen, kan du endre ulimit -verdien for enhver bruker permanent.

Åpne filen i din favoritt tekstredigerer. Merk at filen må åpnes med rottillatelse for at endringene skal lagres.

$ sudo vim/etc/sikkerhet/grenser.konf


Her følger oppføringene av filen følgende struktur.

$

La oss ha en rask oversikt over hvert av feltene.

  • Domene: Brukernavn, grupper, GUID -områder osv.
  • Type: Type grense (myk/hardt)
  • Vare: Ressursen som kommer til å være begrenset, for eksempel kjernestørrelse, NPROC, filstørrelse osv.
  • Verdi: Grenseverdien

Her er en kortliste over alle tilgjengelige varer.

  • Kjerne: begrenser kjernefilstørrelse (i KB)
  • CPU: CPU -tid (i min)
  • Data: Datastørrelse (i KB)
  • FSIZE: Filstørrelse (i KB)
  • Låser: Fillåser bruker kan holde
  • Memlock: Låst-i-minnet adresseplass (i KB)
  • NPROC: Antall prosessorer
  • RTPIO: Prioritet i sanntid
  • Sigpending: Antall signaler i påvente av

For en fullstendig liste over tilgjengelige elementer, sjekk ut mannssiden med grenser.konf.

$ mannsgrenser.konf


For eksempel vil følgende oppføring begrense antall CPU -kjerner brukeren "Viktor" kan bruke ned til 2.

$ Viktor Hard NProc 2

Når du er redigert, lagre filen. For å ta endringene i kraft, trenger de berørte brukeren (e) å logge ut og logge på nytt. Avhengig av hvordan det er implementert, kan det også kreve at systemet starter på nytt.

Siste tanker

Ulimit -verktøyet tilbyr en kraftig måte å administrere ressurser på. Det er enkelt, men likevel kraftig i hva det gjør. Uansett hva du gjør, må du sørge for at grensen du skal implementere er lagt inn riktig. Hvis du prøver disse tingene for første gang, kan du prøve å teste dem ut i en virtuell maskin først.

Det er mer med Ulimit -kommandoen enn det jeg har diskutert her. Hvis du vil lære mer, sjekk ut Linux Ulimit -kommandoen.

Glad databehandling!