”ulimit” on mielenkiintoinen Linuxin komentotulkin komento, joka voi asettaa tai ilmoittaa nykyisen käyttäjän resurssirajoituksen.

Luonnostaan johtuen ”ulimit”-komennon käyttäminen vaatii tietysti ylläpitäjän oikeudet (arvoa muutettaessa). Lisäksi se toimii vain järjestelmissä, jotka sallivat hallinnan komentotulkin kautta. Pidemmittä puheitta aloitetaan ”ulimitin” käyttö!

Sytytä terminaali ja suorita seuraava komento.

which ulimit

Tämä näyttää virheen, eikö? Miksi? Koska ”ulimit” ei ole erillinen binääri. Se on upotettu itse komentotulkkiin.

Peruskäyttö

Ajoita vain komento itsessään.

ulimit

Kuten ulostulosta voi päätellä, senhetkisellä käyttäjällä on ”rajaton” määrä resursseja käytettävissään. Pohjimmiltaan tämä tarkoittaa, että nykyinen käyttäjä voi kuluttaa kaikki resurssit, joita nykyinen järjestelmä tukee.

Voidaksesi saada raportin yksityiskohtaisesti, lisää loppuun ”-a”-lippu. Tämä tulostaa kaikki nykyisen käyttäjän resurssirajoitukset.

ulimit -a

Huomautus: Resurssirajoituksia on kahdenlaisia: ”Kovia” ja ”pehmeitä”. Kova resurssirajoitus määrittelee fyysisen rajan, jonka käyttäjä voi saavuttaa. ”Pehmeä” resurssiraja on käyttäjän hallittavissa. Sen arvo voi nousta ”kovaan” rajaan asti.

Järjestelmäresurssit määritellään asetustiedostossa, joka sijaitsee osoitteessa ”/etc/security/limits.conf”. ”ulimit”, kun sitä kutsutaan, ilmoittaa nämä arvot.

cat /etc/security/limits.conf

Käyttäjän eri rajojen tarkistaminen

Miten olisi, jos yksittäiset parametrit näytettäisiin? Kutsu sitten ”ulimit” kyseisillä parametreilla.

Huomautus: Kaikki nämä komennot eivät toimi, koska kaikki järjestelmät eivät sisällä näitä ominaisuuksia.

Käytä lippua ”-c” tarkistaaksesi max ”core file size” -arvon. Tulos näytetään lohkoina.

ulimit -c

Käytä lippua ”-d”, jos haluat määrittää maksimikoon ”data seg size” (kilotavuina).

ulimit -d

Ajoituksessa prioriteetilla on merkitystä. Tarkista nykyisen käyttäjän maksimi aikataulutusprioriteetti lipun ”-e” avulla.

ulimit -e

Voit tarkistaa nykyisen käyttäjän maksimipinon koon lipulla ”-s”.

ulimit -s

Käyttäjäprosessien enimmäismäärän tarkistamiseksi käytä lippua ”-u”.

ulimit -u

Käytä säikeiden enimmäismäärän määrittämiseen lippua ”-T”.

ulimit -T

Virtuaalisen muistin koon saamiseksi käytä seuraavaa.

ulimit -v

Tarkistetaan socket-puskurin koko!

ulimit -b

Tämä on mielenkiintoinen. Seuraava komento ilmoittaa, kuinka kauan kukin prosessi saa toimia.

=ulimit -t

Tiedoston kuvaajat ovat toinen mielenkiintoinen osa Linuxin ekosysteemiä. Voit tarkistaa, kuinka monta tiedoston kuvaajaa prosessilla voi olla, suorittamalla seuraavan.

ulimit -n

Täydellisen luettelon ”ulimit”-lippulauseista löydät ”ulimit”-ohjelman ohjesivulta.

ulimit –help

Arvojen asettaminen

Tähän asti olemme nähneet, miten nykyisen järjestelmän resurssirajoitusten arvot voidaan tarkistaa. Nyt on aika katsoa, miten näitä arvoja voidaan muuttaa manuaalisesti.

Huomautus: ”Kovan” rajan muuttaminen vaatii ylläpitäjän oikeudet eli ”root”-oikeudet. Varmista, ettet sotke asioita!

Mainitsimme tiedoston ”limits.conf”, eikö niin? Se on ydin, joka MÄÄRITTÄÄ kaikki käyttäjiin sovellettavat rajoitukset.

sudo vim /etc/security/limits.conf

Tiedoston mukaan jokaisen merkinnän on noudatettava seuraavaa rakennetta.

<domain> <type> <item> <value>

”domain”-osio voi olla mikä tahansa näistä arvoista.

  • Erityiskäyttäjä
  • Ryhmä
  • Wildcard (* ja %)

”type”-osassa voidaan käyttää seuraavia arvoja.

  • ”pehmeä” (pehmeiden rajojen toteuttamiseen)
  • ”kova” (kovien rajojen toteuttamiseen)

Seuraavaksi ”item”-osa. Käytettävissä olevien vaihtoehtojen lista on melko pitkä! Tässä muutamia mielenkiintoisia.

  • ydin: Ydintiedoston koko (kilotavuissa).
  • data: Maksimidatan koko (KB:ina)
  • fsize: Tiedoston enimmäiskoko (KB).
  • memlock: Max locked-in-memory address space (in KB).
  • nofile: Tiedoston kuvaajien enimmäismäärä
  • stack: Pinon maksimikoko (KB:ina).
  • cpu: Maksimi CPU-aika (MIN).
  • maxlogins: Nykyisen käyttäjän/ryhmän kirjautumisten enimmäismäärä
  • priority: Asettaa käyttäjän prosessien prioriteetin
  • rtprio: Maksimiprioriteetti reaaliajassa.

Kenttään ”value” asetetaan kokonaislukuarvo. Huomaa, että kunkin kentän yksikkö liittyy ”item”-osan arvoon.

Muutokset tulevat voimaan sen jälkeen, kun olet poistunut ja kirjautunut uudelleen siihen liittyvälle käyttäjätilille.

Syvällistä tietoa ”limits.conf”-määritystiedostosta saat sen man-sivulta.

man limits.conf

Loppuajatuksia

Vastaa

Sähköpostiosoitettasi ei julkaista.