Az foglalkoztat, hogy hogyan tudom egy process CPU felhasználását a kívánt szintre korlátozni. Ha pl. desktop gépen, amin dolgozni is szeretnék futattok egy CPU zabáló programot, akkor hogyan tudnám mondjuk 50%-ra korlátozni az adott program CPU használatát?
A nice használata itt nem segített semmit.
Ami eddig eszembe jutott, az a virtuális gép indítása volt mondjuk 1 processzormaggal, de ennél biztosan van egyszerűbb, elegánsabb megoldás is...
- 2431 megtekintés
Hozzászólások
Ez talán tudja, amit szeretnél:
http://cpulimit.sourceforge.net/
- A hozzászóláshoz be kell jelentkezni
Én meg lassú vagyok. :)
Egyébként az ulimit házatáján is érdemes körülnézni, bár szerintem ezt konkrétan nem tudja, de nem vagyok benne biztos.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Van egy olyan program, amelynek az a neve, hogy cpulimit.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Mikor én memóriahasználatot akartam korlátozni, a cgroups felé irányítottak el. Bevált.
- A hozzászóláshoz be kell jelentkezni
Egy valamire való oprendszer ezt megoldja helyetted.
--
HUPbeszolas FF extension
- A hozzászóláshoz be kell jelentkezni
Természetesen megoldja, s a kérdés nem tűnik túl indokoltnak. Lehet, félreértik egyesek a CPU használatot. Ha van egy process, amelyben nincs sleep() - például a fordítás ilyen -, akkor az 1 mag 100%-át kihasználja. Amennyiben két ilyen process fut 1 magon, oszlik köztük az idő, s egyenként 50% lesz a CPU használat. (Az overhead-et most elhanyagoltam.)
Tehát szó sincs arról, hogy az a process, amelyik egyedül elviszi a CPU idő 100%-át, nem hagy majd más process-t futni. Igény esetén osztozni fognak az időn.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Köszönöm a válaszokat, a cpulimit hozott megoldást a kérdésemre.
Egyes feladatoknál a rendszer válaszideje zavaróan lecsökkent, a load 5-6 körülire felszökött.
A sudo cpulimit -p processid -l80
paranccsal a probléma megoldódott, a load nem kerül 1 fölé (2 CPU mag van) és az asztali rendszer (számomra) észlelhető válaszidő csökkenés nélkül működik.
- A hozzászóláshoz be kell jelentkezni
Szerintem nem a cpu terhelés volt a gond, mert akkor a nice elég lett volna. Inkább az, hogy sok mindent csinált a program, és egyéb erőforrásokat terhelt le nagyon (memória, diszk, cpu cache szemetelés, stb).
- A hozzászóláshoz be kell jelentkezni
Szinte biztos, hogy igazad van, mert hosszasabb próbálgatásnál egy nagyobb file feldolgozásánál (awk-val) a disk io tűnik a legszűkebb keresztmetszetnek és így is elszállt a load az egekbe :-(
Egy process disk io illetve memória felhasználása korlátozható valahogy hasonlóan elegánsan mint a cpu használat a cpulimittel?
- A hozzászóláshoz be kell jelentkezni
szerintem a fentebb említett ulimit lehet a megoldás
- A hozzászóláshoz be kell jelentkezni
A memóriára nekem is az ulimit ugrik be, disk io-ra meg az ionice.
- A hozzászóláshoz be kell jelentkezni
subscribe
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
+1
--
A legértékesebb idő a pillanat amelyben élsz.
http://phoenix-art.hanzo.hu/
https://sites.google.com/site/jupiter2005ster/
- A hozzászóláshoz be kell jelentkezni