Sida 1 av 1

Hur ser man vilken prioritet en process har?

Postat: 06 apr 2009, 13:49
av BadOmen
Hej.
Jag har börjat använda BONIC och kör projektet rosetta@home och den visas som en nice process. Jag blev lite nyfiken och ville se vilken prioritet den hade för jag vill att den ska vara låg så att tex om jag startar firefox eller nåt annat program så ska den dra ned på sitt processoranvändande, jag tror det är så redan men jag blev nyfiken...

Jag skulle altså vilja se vilken prioritet en specifik process har, hur gör man det? Jag har sett att man kan sätta prioritet med nice men inte hur man får ut vilket värde processen redan har.

Jag har även en annan liknande fråga. Under inställningar på systemövervakaren så kan man sätta färg för nice men vilka processer visar den då?

man nice citat:
Run COMMAND with an adjusted niceness, which affects process schedul‐
ing. With no COMMAND, print the current niceness. Nicenesses range
from -20 (most favorable scheduling) to 19 (least favorable)
Hur mycket måste man ändra en process för att det ska göra nån skillnad?
Tycker det är lite konstigt att -20 har högsta prioritet och 19 lägsta, det känns som det borde vara tvärt om egentligen.

Re: Hur ser man vilken prioritet en process har?

Postat: 06 apr 2009, 13:56
av Osprey
BadOmen skrev:Tycker det är lite konstigt att -20 har högsta prioritet och 19 lägsta, det känns som det borde vara tvärt om egentligen.
Håller med, och det är tvärtom i t.ex OpenVMS.........

Re: Hur ser man vilken prioritet en process har?

Postat: 06 apr 2009, 14:04
av Osprey
Osprey skrev:
BadOmen skrev:Tycker det är lite konstigt att -20 har högsta prioritet och 19 lägsta, det känns som det borde vara tvärt om egentligen.
Håller med, och det är tvärtom i t.ex OpenVMS.........
[Edit] och hur mycket du behöver ändra en process för att det ska göra någon skillnad jämfört med allt annat som kör, beror helt enkelt på allt annat som kör. Över eller under, beroende på vilken prioritet det har. Tänk bara på att du måste ange det med "--" när du ska öka prioriteten... :)

Re: Hur ser man vilken prioritet en process har?

Postat: 06 apr 2009, 14:09
av Lars
BadOmen skrev:Jag skulle altså vilja se vilken prioritet en specifik process har, hur gör man det? Jag har sett att man kan sätta prioritet med nice men inte hur man får ut vilket värde processen redan har.
Det visas i kolumnen NI i top.

Re: Hur ser man vilken prioritet en process har?

Postat: 06 apr 2009, 20:24
av BadOmen
Osprey skrev:
Osprey skrev:
BadOmen skrev:Tycker det är lite konstigt att -20 har högsta prioritet och 19 lägsta, det känns som det borde vara tvärt om egentligen.
Håller med, och det är tvärtom i t.ex OpenVMS.........
[Edit] och hur mycket du behöver ändra en process för att det ska göra någon skillnad jämfört med allt annat som kör, beror helt enkelt på allt annat som kör. Över eller under, beroende på vilken prioritet det har. Tänk bara på att du måste ange det med "--" när du ska öka prioriteten... :)
Det skulle vara roligt att höra hur de resonerade när de kom fram till att en process med högprioritet skulle ha ett lägre tal än en process med lågprioritet =)

Hur menar du med "--", det enda sättet jag lyckas sätta ett negativt tal till en process är att använda mig av sudo vilkent kan ju ställa till det ifall det är ett program jag inte vill köra som sudo, sudo nice -n-2 program. (Vet dock aldrig om det skulle vara aktuellt att byta prioritet så mycket...) Det finns säkert en vettig anledning till att det är så :)

Lars skrev:
BadOmen skrev:Jag skulle altså vilja se vilken prioritet en specifik process har, hur gör man det? Jag har sett att man kan sätta prioritet med nice men inte hur man får ut vilket värde processen redan har.
Det visas i kolumnen NI i top.
Tack för det tipset det var smidigt och så fick jag som bonus lära mig vad det var för kolumn i top :)

Re: Hur ser man vilken prioritet en process har?

Postat: 06 apr 2009, 20:32
av Osprey
BadOmen skrev:
Osprey skrev:
Osprey skrev:
BadOmen skrev:Tycker det är lite konstigt att -20 har högsta prioritet och 19 lägsta, det känns som det borde vara tvärt om egentligen.
Håller med, och det är tvärtom i t.ex OpenVMS.........
[Edit] och hur mycket du behöver ändra en process för att det ska göra någon skillnad jämfört med allt annat som kör, beror helt enkelt på allt annat som kör. Över eller under, beroende på vilken prioritet det har. Tänk bara på att du måste ange det med "--" när du ska öka prioriteten... :)
Det skulle vara roligt att höra hur de resonerade när de kom fram till att en process med högprioritet skulle ha ett lägre tal än en process med lågprioritet =)

Hur menar du med "--", det enda sättet jag lyckas sätta ett negativt tal till en process är att använda mig av sudo vilkent kan ju ställa till det ifall det är ett program jag inte vill köra som sudo, sudo nice -n-2 program. (Vet dock aldrig om det skulle vara aktuellt att byta prioritet så mycket...) Det finns säkert en vettig anledning till att det är så :)

Lars skrev:
BadOmen skrev:Jag skulle altså vilja se vilken prioritet en specifik process har, hur gör man det? Jag har sett att man kan sätta prioritet med nice men inte hur man får ut vilket värde processen redan har.
Det visas i kolumnen NI i top.
Tack för det tipset det var smidigt och så fick jag som bonus lära mig vad det var för kolumn i top :)
I Open/ClosedVMS (som bygger på Unix via PDP-11/RSX) så har en process högre prioritet desto högre numeriskt tal den har....

Men som så, inom Unix/Linux så anger du också prioritet med ett tal och ju lägre det är desto högre prioritet och eftersom Unix/Linux parameterhantering (getopt) är sådan att du anger parametern med ett minus "-" först så måste du ange något med minus i själva värdet med två minus.... (korkat, ja kanske....)

Re: Hur ser man vilken prioritet en process har?

Postat: 06 apr 2009, 21:08
av BadOmen
Osprey skrev: ...
Men som så, inom Unix/Linux så anger du också prioritet med ett tal och ju lägre det är desto högre prioritet och eftersom Unix/Linux parameterhantering (getopt) är sådan att du anger parametern med ett minus "-" först så måste du ange något med minus i själva värdet med två minus.... (korkat, ja kanske....)
Jag förstår fortfarande inte vad du menar med att man måste ange nåt med minus i värdet med två minus. Det här fungerar ju sudo nice -n-2 process då är det bara ett minus vid själva värdet. Jag fattar inte heller varför man måste använda sudo för att få sätta ett negativt värde, men det är kanske nån säkerhetsgrej så att man ska veta vad man gör så inte nån viktig process inte får köras. :)

Re: Hur ser man vilken prioritet en process har?

Postat: 06 apr 2009, 21:14
av Osprey
Sudo kommer av att endast root (superuser) har rätt att höja prioriteten på processer och "-" (minus) kommer av att det första strecket "-" talar om för "nice" att det är en parameter och den andra talar om för "nice" att det är ett minus, dvs. högre prioritet.......

Re: Hur ser man vilken prioritet en process har?

Postat: 06 apr 2009, 22:23
av BadOmen
Osprey skrev:Sudo kommer av att endast root (superuser) har rätt att höja prioriteten på processer och "-" (minus) kommer av att det första strecket "-" talar om för "nice" att det är en parameter och den andra talar om för "nice" att det är ett minus, dvs. högre prioritet.......
Okej då kan man inte komma runt det då utan jag får använda sudo om jag skulle vilja höja det. Tyvärr så verkar det inte som man bara använder sudo på nice för att höja prioriteten utan hela processen som man höjer prioriteten på blir root användarens så man får passa sig så man inte ställer till det :)
Det var nog bara jag som missuppfattade vad du menade med din beskrivning men det blev rätt iaf :)

Tack ska du ha :)