Ulimit: Difference between revisions
No edit summary |
No edit summary |
||
(24 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
==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 ''shell''ile ja selle poolt alustatud | Ulimit on bash kesta käsklus, millega määrata või kuvada kasutajaga seotud ressursipiiranguid. See võimaldab kontrolli ''shell''ile ja selle poolt alustatud | ||
protsessidele | protsessidele saadaolevate ressurside üle. Ulimit tuleb eeskätt kasuks paljude kasutajatega süsteemides, kus jõudlusprobleemid võivad tugevasti vähendada kättesaadavust. [http://en.wikipedia.org/wiki/Fork_bomb ''Fork Bomb''] on üks äärmuslikemaid näiteid, mille võimalike tagajärgede piiramisel ulimit kasulikuks võib osutuda.[http://ss64.com/bash/ulimit.html 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== | ==Süntaks== | ||
{|style="background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey" align=centre | {|style="background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey" align=centre | ||
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" | ulimit [- | | style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" | ulimit [-SHacdefilmnpqrstuv] ''piirang'' | ||
|} | |} | ||
Line 14: | Line 26: | ||
|- | |- | ||
! Suvand !! Tähendus | ! Suvand !! Tähendus | ||
|- | |- | ||
| -S || Kuva ja muuda ressursiga seotud pehmet piirangut | | -S || Kuva ja muuda ressursiga seotud pehmet piirangut | ||
Line 19: | Line 32: | ||
| -H || Kuva ja muuda ressursiga seotud jäika piirangut | | -H || Kuva ja muuda ressursiga seotud jäika piirangut | ||
|- | |- | ||
| -c || Loodavate | | -c || Loodavate mälutõmmiste maksimaalne suurus (1024-baidistes blokkides) | ||
|- | |- | ||
| -d || Protsessi andmesegmendi maksimaalne suurus | | -d || Protsessi andmesegmendi maksimaalne suurus (kilobaitides) | ||
|- | |- | ||
| -e || Ajaplaanimise prioriteedi suurim väärtus | | -e || Ajaplaanimise prioriteedi suurim väärtus | ||
|- | |- | ||
| -f || ''Shell''i loodud failide maksimaalne suurus (valikuline) | | -f || ''Shell''i loodud failide maksimaalne suurus (valikuline, 1024-baidistes blokkides) | ||
|- | |||
| -i || Ootel signaalide maksimaalne hulk | |||
|- | |- | ||
| -l || Protsessile eraldatav maksimaalne mälu | | -l || Protsessile eraldatav maksimaalne mälu (kilobaitides) | ||
|- | |- | ||
| -m || | | -m || Maksimaalne protsessile eraldatud füüsiline mälu (kilobaitides) | ||
|- | |- | ||
| -n || Maksimaalne avatud failideskriptorite arv | | -n || Maksimaalne avatud failideskriptorite arv | ||
|- | |- | ||
| -p || Torupuhvri suurus | | -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) | ||
|- | |- | ||
| -u || | | -t || Maksimaalne CPU aeg (sekundites) | ||
|- | |||
| -u || Maksimaalne ühele kasutajale lubatud protsesside hulk | |||
|- | |- | ||
| -v || Maksimaalne ühele protsessile võimaldatud virtuaalmälu suurus | | -v || Maksimaalne ühele protsessile võimaldatud virtuaalmälu suurus | ||
|} | |} | ||
[http://www.itworld.com/operating-systems/317369/setting-limits-ulimit 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. | 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 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. | 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.[http://ss64.com/bash/ulimit.html 1] | |||
==Näited== | ==Näited== | ||
Line 56: | Line 81: | ||
|} | |} | ||
Määrab uue pinu suuruse pehme piirangu. | |||
{|style="background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey" align=centre | |||
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" | ulimit -s 8192 | |||
|} | |||
Muudab ühele protsessile lubatud virtuaalmälu jäiga piirangu "piiramatuks". | |||
{|style="background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey" align=centre | |||
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" | ulimit -v -H unlimited | |||
|} | |||
Keelab mälutõmmiste loomise. | |||
{|style="background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey" align=centre | |||
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" | ulimit -c 0 | |||
|} | |||
Määrab loodavate mälutõmmiste suurusepiiranguks 4096 baiti. | |||
{|style="background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey" align=centre | {|style="background:lightyellow;width:500px;margin:3px;border:1px solid lightgrey" align=centre | ||
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" | ulimit - | | style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" | ulimit -c 4 | ||
|} | |} | ||
Line 65: | Line 105: | ||
Määratud piirangud salvestatakse faili /etc/security/limits.conf | 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 |
Latest revision as of 02:59, 6 January 2014
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 |
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