Ulimit

From ICO wiki
Revision as of 02:59, 6 January 2014 by Lsaareme (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Autor

Lisann Saaremets A22

esitatud 03.01.2014

parandatud 05.01.2014

Sissejuhatus

Ulimit on bash kesta käsklus, millega määrata või kuvada kasutajaga seotud ressursipiiranguid. See võimaldab kontrolli shellile ja selle poolt alustatud protsessidele saadaolevate ressurside üle. Ulimit tuleb eeskätt kasuks paljude kasutajatega süsteemides, kus jõudlusprobleemid võivad tugevasti vähendada kättesaadavust. Fork Bomb on üks äärmuslikemaid näiteid, mille võimalike tagajärgede piiramisel ulimit kasulikuks võib osutuda.1

Siinsed näited on toodud kasutades operatsioonisüsteemi Ubuntu 13.04 ning juurkasutaja õigustes (kuid mingil määral saab muudatusi teha ka iga kasutaja teda puudutavates piirangutes).

Süntaks

ulimit [-SHacdefilmnpqrstuv] piirang

Suvandid

Suvand Tähendus
-S Kuva ja muuda ressursiga seotud pehmet piirangut
-H Kuva ja muuda ressursiga seotud jäika piirangut
-c Loodavate mälutõmmiste maksimaalne suurus (1024-baidistes blokkides)
-d Protsessi andmesegmendi maksimaalne suurus (kilobaitides)
-e Ajaplaanimise prioriteedi suurim väärtus
-f Shelli loodud failide maksimaalne suurus (valikuline, 1024-baidistes blokkides)
-i Ootel signaalide maksimaalne hulk
-l Protsessile eraldatav maksimaalne mälu (kilobaitides)
-m Maksimaalne protsessile eraldatud füüsiline mälu (kilobaitides)
-n Maksimaalne avatud failideskriptorite arv
-p Torupuhvri suurus (512-baidistes blokkides)
-q Maksimaalne baitide hulk POSIX-i teatejärjekorras (baitides)
-r Reaalaja ajaplaanimise prioriteedi suurim väärtus
-s Pinu maksimaalne suurus (kilobaitides)
-t Maksimaalne CPU aeg (sekundites)
-u Maksimaalne ühele kasutajale lubatud protsesside hulk
-v Maksimaalne ühele protsessile võimaldatud virtuaalmälu suurus

2


Pehme piirang on kerneli kehtiv piirang vastavale ressursile. Jäik piirang on nö lagiväärtus, mida saab määrata pehmeks piiranguks. Õigusteta protsess võib määrata pehme piirangu vahemikus 0 kuni jäik piirang ning (pöördumatult) alandada jäika piirangut. Õigustega protsess võib teha omavolilisi muudatusi mõlemas piirangus.


Kui käskluses on määratud limiit, saab see vastava ressursi uueks piiranguväärtuseks. Vastasel juhul kuvatakse pehme piirang, kui just ei ole määratletud '-H' suvand. Kui uusi piiranguid määrates puudub nii '-H' kui ka '-S' suvand, muudetakse korraga mõlemad piirangud.


Kasutajad saavad muuta endaga seotud piiranguid neile juurkasutajas määratud limiitide piires.1

Näited

Kuvab kasutajale lubatud protsesside hulga pehme piirangu.

ulimit -u

Määrab uue pinu suuruse pehme piirangu.

ulimit -s 8192

Muudab ühele protsessile lubatud virtuaalmälu jäiga piirangu "piiramatuks".

ulimit -v -H unlimited

Keelab mälutõmmiste loomise.

ulimit -c 0

Määrab loodavate mälutõmmiste suurusepiiranguks 4096 baiti.

ulimit -c 4

Ulimitiga seotud failid

Määratud piirangud salvestatakse faili /etc/security/limits.conf

Kokkuvõte

Ulimit on kasulik abivahend eelkõige paljude kasutajatega süsteemide puhul, kus on oluline ressursside mõistlik kasutamine. Väiksema koormusega süsteemides tasub aga enne piirangute seadmist mõelda, kas need on reaalselt vajalikud, et vältida iseenesele nö vastutöö tegemist.


Kasutatud materjal

1. http://ss64.com/bash/ulimit.html

2. http://www.itworld.com/operating-systems/317369/setting-limits-ulimit