I get a feeling that you might be looking in the wrong direction. If the batch job is not running fast, then you need to look at what the job is doing in the 1st place. as you mentioned, tracing is good idea. so, you've got the answer yourself !
we use a couple of p590 as well as p595 machines with SMT enabled and they are blazing fast. but, i only have 64 cores on the p595 :)
i have tried bumping the priority of Oracle shadow as well as background processes (LGWR, DBWR,etc.) with mixed luck and also depending on whether RAC is used or not.
If you are CPU starved, then you might be better of looking who is chewing up the CPU and why instead of raising the priority, etc. look at profiling your batch job. You mentioned that the batch job completed in 2.5
hours in an identical test system?
was everything identical? the disk setup, Oracle, etc.? you need some detailed data from the test system to compare it to your problematic run. so, statistics collection, tracing is where you might find some clues.
AIX and Tru64 do a fabulous job with process scheduling and priority handling. I never had to touch anything even on the busiest of machines.
hope that helps.
On 06/12/06, Dennis Williams <email@example.com> wrote:
Also look at adjusting the nice value.
You should also consider what you will be taking CPU time away from. Usually modern Unix systems do a great job of balancing the requirements of all the users simultaneously. When you start forcing the system to your will, you stand a chance that you may improve the performance of your process, but response could get VERY bad for other users. You may also make things bad for the other users and only help your process slightly.
Consider reading Optimizing Oracle Perfomance by Cary Millsap and Jeff Holt.