Batch basic Troubleshooting – jobs are delayed
-
liuhaimiao
2015-11-05 17:19:45
-
ERP
-
转载
As you check your jobs in sm37, you see, that your finished jobs have higher / lower delay, and your released jobs are not started, and their delay will be higher and higher.
First check: do you have enough resources ?
Check you work processes in SM66, or pro instance with SM51 / SM50. If you see it so, that many or all of BGD processes in the system are occupied, then your batch system works, the reason of delayed jobs is most likely an overload of the system.
How can you check it in SM37 ?
Make an SM37 query, sort the list according the scheduled date / time of the jobs.
?Go” backwards in time in the list, and set the focus of your attention to the jobs, where the runtime is long ( t.e.: a couple of 1000 seconds ).
If you have ?too many” jobs like these, it means, that they are using their work processes for a long time.
These work processes cannot be taken by the system to start jobs, the number of jobs to be started can be higher and higher , than the number of free WP’s -> overload -> delayed start of next coming jobs.
What can you do ?
Upon your experience about your jobs, try to find a better distribution for your jobs concerning their planned start time.
An another possibility is of course to work with more resources according your possibilities.
( More BGD work process in the system, more application servers in the system .. )
Second check: does the batch scheduling work ?
To check the batch scheduling as a first step call the transaction SM61.
You will see on the left side your application servers, and the control objects, among others the Time-Controlled Scheduler.
If you make a doubble click on this control object, you will see on the right side in Action Log -> Last run the last execution dat / time of this scheduler.
If the last run time is too far in the past ( even a couple of minutes ! ), then it means, that the Time-Controlled Scheduler has some kind of problem. The system parameter: rdisp/btctime says the system, wich periodicity has this scheduler in its work. The default value is 60 sec.
If this scheduler is not executed regularly on an application server, then the jobs, which would have been started on this server in question, they won’t be executed.
What can you do ?
Depending on the basis and kernel level of your system, you can take the following notes:
# 394677 - Jobs do not run on certain servers
The essence is: check your system, your lock entries in SM12 for hanging BTC locks as it is described in the note
# 2106325 - Batch scheduler does not run any longer
It is valid for kernels listed in this note ( 74x / xxx kernel version, patch level )
There can be other reasons of remaining of batch jobs in released status with increasing
# 165084 - Why does my job not start? ( point 2. )