Subject | Re: [firebird-support] Process Priority Level |
---|---|
Author | Helen Borrie |
Post date | 2007-02-20T23:14:33Z |
At 03:17 AM 21/02/2007, you wrote:
http://msdn2.microsoft.com/en-us/library/ms685100.aspx
It's a base setting only: the priority at which the process
starts. Processes change priority constantly as they move up and
down the scheduling queue. A process will get a slice of CPU if
there are no higher priority processes waiting in the queue at the
time the slice becomes available.
If trying it out, bear in mind that Firebird's default setting of
zero is equivalent to "Normal", which is 8 in Windows terms. The
Windows scale on 32-bit systems ranges from RealTime (24) down to 4
(Low) for Priority Level and 31 down to ?? for priority
class. AFAIU, the scale that Firebird uses is based on a combination
of both the class and the level.
out the correspondences; then (in the lab) play about with setting
the priorities during run-time using Task Manager. From what I can
tell, boosting the priority to more than 5 (13 in Windows terms) is
likely to bring your system to a standstill.
useful as it could be. By this I mean it is totally specific to the
Windows environment you are running. There are no "recommended numbers".
I believe it was implemented back in 16-bit Windows time, when it was
(comparatively) easier to know the relative priorities of running
processes and recognise the effects of altering the base
priority. That said, I've never heard of anyone who succeeded in
influencing how a 32-bit Windows apportions CPU time in any way that
dramatically affected performance...if you manage to do it, a report
on your tests would be most welcome.
./heLen
>Does anyone know what 'ProcessPriorityLevel' does within the firebirdIt applies only to Windows and it's a can of worms. See
>configuration file?
>
>I understand you can set its value to a positive number.
>
>But no guidance is given to what the number should be.
http://msdn2.microsoft.com/en-us/library/ms685100.aspx
It's a base setting only: the priority at which the process
starts. Processes change priority constantly as they move up and
down the scheduling queue. A process will get a slice of CPU if
there are no higher priority processes waiting in the queue at the
time the slice becomes available.
If trying it out, bear in mind that Firebird's default setting of
zero is equivalent to "Normal", which is 8 in Windows terms. The
Windows scale on 32-bit systems ranges from RealTime (24) down to 4
(Low) for Priority Level and 31 down to ?? for priority
class. AFAIU, the scale that Firebird uses is based on a combination
of both the class and the level.
>Should I put 1000000 or 5 or 54 ?One thing you could do is draw a graph of the three scales to work
out the correspondences; then (in the lab) play about with setting
the priorities during run-time using Task Manager. From what I can
tell, boosting the priority to more than 5 (13 in Windows terms) is
likely to bring your system to a standstill.
>No guidance is given to what the effect of providing a positive numberThat's true. It's not very encouraging, which is what makes it as
>will do and how high that number should be.
useful as it could be. By this I mean it is totally specific to the
Windows environment you are running. There are no "recommended numbers".
I believe it was implemented back in 16-bit Windows time, when it was
(comparatively) easier to know the relative priorities of running
processes and recognise the effects of altering the base
priority. That said, I've never heard of anyone who succeeded in
influencing how a 32-bit Windows apportions CPU time in any way that
dramatically affected performance...if you manage to do it, a report
on your tests would be most welcome.
./heLen