/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Øvre grænse for en proces's cpu-usage (i %~
Fra : Niels L Ellegaard


Dato : 20-10-06 08:23

Findes der en metode til at sætte en øvre grænse for hvor mange
procent at den samlede regnekraft en process kan bruge?. Mit problem er
at jeg har en maskine der crasher hvis den bliver for varm. Jeg vil
køre et program i baggrunden i et par dage, men jeg er nødt til at
sørge for at bruge mindre end 100% af CPU'en. Derfor leder jeg efter
en måde til at få programmet til at tage det lidt med ro.

1) Jeg kender nice, men jeg kan ikke bruge nice til at sætte en øvre
grænse for hvor meget regnekraft en process må bruge.

2) Jeg har kigget på ulimit, men enten forstår jeg ikke programmet
eller også kan det ikke løse mit problem

3) Jeg kan løse problemet ved at skrive sleep mange gange i min kode,
men det er alligevel noget rod.

4) Der findes en kernelpatch, men jeg håbede at undgå at kompilere
kerne.
http://www.tls-technologies.com/CPU/cpu-download.html

Er der nogen der har et godt råd?

Niels


 
 
Mogens Kjaer (20-10-2006)
Kommentar
Fra : Mogens Kjaer


Dato : 20-10-06 08:43

Niels L Ellegaard wrote:
....
> 3) Jeg kan løse problemet ved at skrive sleep mange gange i min kode,
> men det er alligevel noget rod.

Du kan lave en overvågningsproces, som looper over

kill -STOP <pid>
sleep 1
kill -CONT <pid>
sleep 1

så får processen <pid> kun 50% CPU.

Mogens


--
Mogens Kjaer, Carlsberg A/S, Computer Department
Gamle Carlsberg Vej 10, DK-2500 Valby, Denmark
Phone: +45 33 27 53 25, Fax: +45 33 27 47 08
Email: mk@crc.dk Homepage: http://www.crc.dk

Peter Makholm (20-10-2006)
Kommentar
Fra : Peter Makholm


Dato : 20-10-06 08:50

"Niels L Ellegaard" <niels.ellegaard@gmail.com> writes:

> 1) Jeg kender nice, men jeg kan ikke bruge nice til at sætte en øvre
> grænse for hvor meget regnekraft en process må bruge.

Nej og nice regulerer kun CPU-forbrugeret relativt til andre processer
mens du ønsker at regulere det absolut.

> 2) Jeg har kigget på ulimit, men enten forstår jeg ikke programmet
> eller også kan det ikke løse mit problem

Men ulimit kan du sætte en grænse for hvor mange CPU-sekunder din kode
må bruge. Igen ikke helt det du vil.

> 3) Jeg kan løse problemet ved at skrive sleep mange gange i min kode,
> men det er alligevel noget rod.

Det der lidt er noget rod er at du skal gætte på hvornår du skal kalde
sleep. Måske nemmere og lidt pænere at lade en ekstern process styre
hvornå din beregningsprocess må køre og ikke køre. Et eller andet ala:

long_running_command &
PID=$!
while (1) ; do
sleep 48
kill -STOP $PID
sleep 12
kill -CONT $PID
done

Vi har engang haft noget tilsvarende kørende der kun gav bestemte
programmer lov til at køre i mindre bursts hvis load var under en vis
grænse.

//Peter Makholm

Kent Friis (20-10-2006)
Kommentar
Fra : Kent Friis


Dato : 20-10-06 16:24

Den 20 Oct 2006 00:23:25 -0700 skrev Niels L Ellegaard:
> Findes der en metode til at sætte en øvre grænse for hvor mange
> procent at den samlede regnekraft en process kan bruge?. Mit problem er
> at jeg har en maskine der crasher hvis den bliver for varm.

Hvad med at slå strømstyring til, og så tvinge CPU'en til at køre
med en lavere hastighed?

Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).

Madsen58 (21-10-2006)
Kommentar
Fra : Madsen58


Dato : 21-10-06 10:13

Niels L Ellegaard wrote:
> Findes der en metode til at sætte en øvre grænse for hvor mange
> procent at den samlede regnekraft en process kan bruge?. Mit problem
> er at jeg har en maskine der crasher hvis den bliver for varm.

Hvad med at få løst dit varme problem?
--
Hilsen Madsen



N/A (22-10-2006)
Kommentar
Fra : N/A


Dato : 22-10-06 08:40



Andreas Plesner Jaco~ (22-10-2006)
Kommentar
Fra : Andreas Plesner Jaco~


Dato : 22-10-06 08:40

On 2006-10-20, Thorbjørn Ravn Andersen <nospam0000@gmail.com> wrote:
>
>> procent at den samlede regnekraft en process kan bruge?. Mit problem er
>> at jeg har en maskine der crasher hvis den bliver for varm. Jeg vil
>> køre et program i baggrunden i et par dage, men jeg er nødt til at
>> sørge for at bruge mindre end 100% af CPU'en. Derfor leder jeg efter
>
> Hvad med at underclocke den?

Det kan endda klares i software med moderne hardware.
Jeg har samme problem, og har "løst" det ved at køre med en ondeman
cpufreq scheduler og køre med tilpas lav max-hastighed.
(Jaja, jeg skal nok få kigget på det :)

--
Andreas

Niels Andersen (22-10-2006)
Kommentar
Fra : Niels Andersen


Dato : 22-10-06 15:20

On Oct 20, 9:23 am, "Niels L Ellegaard" <niels.ellega...@gmail.com>
wrote:
> Mit problem er
> at jeg har en maskine der crasher hvis den bliver for varm. Jeg vil
> køre et program i baggrunden i et par dage, men jeg er nødt til at
> sørge for at bruge mindre end 100% af CPU'en. Derfor leder jeg efter
> en måde til at få programmet til at tage det lidt med ro.

Jeg har haft et lignende program, og det løste jeg midlertidigt på
denne måde:

Et simpelt shell-script tjekkede temparaturen med passende mellemrum (1
minut tror jeg). Når den kom over en grænse jeg valgte, blev et antal
programmer sat på pause. (killall blev kaldt med en foruddefineret
liste af cpu-tunge programmer.)
Når temparaturen så kom 5 grader under grænsen, blev programmerne
startet igen.

Jeg har kigget lidt efter scriptet, men jeg tror jeg slettede det da
jeg fik løst mit varme-problem.

--
Mvh.

Niels Andersen


Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408927
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste