Linux-kommandoer

Slik setter du ulimit-verdien permanent

Slik setter du ulimit-verdien permanent

I Linux er ulimit et innebygd verktøy for å administrere ressurstildeling på globalt, gruppe- og brukernivå. For et flerbrukersystem som Linux, er en slik funksjon nesten viktig å ha. Det kan forhindre forbruk av uønskede systemressurser som RAM og CPU-strøm.

Sjekk ut hvordan du setter 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 bestemt konfigurasjonsfil som kjernen til å tilordne ulimit-verdiene. For mer finjustert kontroll er det bedre å redigere filen.

$ katt / etc / sikkerhet / grenser.konf


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

La oss si at en systemadministrator vil at en bestemt bruker skal sveve rundt en bestemt verdi. Her kan brukeren overskride 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 vil innføre grensen strengt, vil det være en hard grense.

Bruke ulimit

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

$ ulimit

Vis alle grenser

“-A” -flagget vil vise alle alternativene og konfigurasjonene for en bestemt bruker. Hvis ingen brukere er definert, vil den i stedet skrive ut grensene for den nåværende brukeren.

$ ulimit -a

$ ulimit -a


For å vise de myke grensene til en bruker, bruk “-S” -flagget.

$ ulimit -Sa


For å vise de harde grensene til en bruker, bruk “-H” -flagget.

$ ulimit -Ha


Det er mulig å se grensene for en bestemt prosess. Detaljer finner du i følgende fil. Merk at det er en unik fil for hver av prosessene som kjører for øyeblikket. Bytt PID-felt med PID for målprosessen.

$ cat / 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 definerer maksimumsverdien til hver av parameterne.

  • b: Størrelse på bufferbuffer
  • c: Størrelse på kjernefiler opprettet
  • d: Prosessens datasegmentstørrelse
  • e: Planleggingsprioritet (“fin” verdi)
  • f: Antall filer opprettet av skallet
  • i: Antall ventende signaler
  • l: Størrelse for å låse i minnet
  • m: Bebyggelsestørrelse
  • n: Antall åpne filbeskrivere
  • p: Størrelse på rørbuffer
  • q: Antall byte i POSIX-meldingskøer
  • r: Planleggingsprioritet i sanntid
  • s: Stakkstørrelse
  • t: CPU-tid (i sekunder)
  • T: Antall tråder
  • u: Antall prosesser tilgjengelig for en bruker
  • v: Mengden virtuelt minne tilgjengelig for behandling
  • x: Antall fillåser

Endre ulimit-verdien midlertidig

Det er mulig å endre verdien på ulimit midlertidig for en bestemt bruker. Endringen forblir effektiv til brukeren er logget av, økten utløper eller systemet starter på nytt. Her skal jeg vise et eksempel på hvordan du angir maks prosessnummer 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 den harde grensen for å bekrefte.

$ ulimit -Hu

Endre ulimit-verdien permanent

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

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

$ sudo vim / etc / security / limits.konf


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

$

La oss få en rask oversikt over hvert av feltene.

  • domene: Brukernavn, grupper, GUID-områder osv.
  • type: Type begrensning (myk / hard)
  • element: Ressursen som vil være begrenset, for eksempel kjernestørrelse, nproc, filstørrelse osv.
  • verdi: Grenseverdien

Her er en kortliste over alle tilgjengelige gjenstander.

  • kjerne: Begrenser kjernefilens størrelse (i KB)
  • CPU: CPU-tid (i min)
  • data: Datastørrelse (i KB)
  • fsize: Filstørrelse (i KB)
  • låser: Fillås bruker kan holde
  • memlock: Adresset plass i minnet (i KB)
  • nproc: Antall prosessorer
  • rtpio: Sanntidsprioritet
  • sigpending: Antall ventende signaler

For en fullstendig liste over tilgjengelige varer, sjekk ut man-siden med grenser.konf.

$ mann grenser.konf


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

$ viktor hard nproc 2

Lagre filen når den er redigert. For å få endringene i kraft, må de berørte brukerne logge av og pålogge på nytt. Avhengig av hvordan den implementeres, 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 angitt riktig. Hvis du prøver disse tingene for første gang, så prøv å teste dem ut på en virtuell maskin først.

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

Glad databehandling!

Topp Oculus App Lab-spill
Hvis du er Oculus-hodesettinnehaver, må du være klar over sideloading. Sidelading er prosessen med å installere ikke-butikkinnhold på hodesettet. Side...
Topp 10 spill å spille på Ubuntu
Windows-plattformen har vært en av de dominerende plattformene for spill på grunn av den enorme andelen spill som utvikles i dag for å støtte Windows ...
5 beste arkadespill for Linux
I dag er datamaskiner seriøse maskiner som brukes til spill. Hvis du ikke kan få den nye høye poengsummen, vil du vite hva jeg mener. I dette innlegge...