What causes timeslice errors?
The Adaptive Server Enterprise scheduler manages the processing time provided to client tasks. The scheduler allows a task to execute on a server engine using the rule:-
<time slice> + <cpu grace time> = <maximum continuous processing time in clock ticks>
The following diagram illustrates management of processing time using default values for time slice (1 clock tick, 1/10th of a second) and cpu grace time (500 clock ticks, 50 seconds). The task begins execution at the end of the "free time".
At periodic yield points, the task checks to see if the time slice has been exceeded. If it has not, the task continues executing. If it has, the task voluntarily yields the engine within the cpu grace time; if the task had not yet fulfilled the client request, the task goes to the end of the run queue. If there are no other tasks in the run queue, the server grants the task another processing interval.
It is possible for a task not to encounter a yield point and to exceed the time slice period. When this occurs, the server terminates the task with a time slice error at the end of the cpu grace time. Time slice errors are typically due to a delay in acquiring an Adaptive Server resource, a coding problem, or some other issue; for example, the Server may have made a blocking system call that does not return for a long time.
If you receive time slice errors, take these steps:-
- Set up a configurable shared memory dump (CSMD) using "timeslice" as the dump condition. Information about CSMD can be found in the section "Other Useful Tasks" in the most recent version of Troubleshooting and Disaster Recovery.
- Try increasing the value of the cpu grace time parameter. See "Configuration parameters" in the System Administration Guide: Volume 1 chapter "Setting Configuration Parameters." Warning! Sybase does not recommend changing the time slice configuration parameter to resolve these errors, only the cpu grace time parameter. Changing the time slice parameter affects all tasks and changes the dynamics of Adaptive Server's processing time management; changing the cpu grace time affects only tasks that would be terminated with a time slice error. If cpu grace time is set to 1500 and time slice errors persist, contact Sybase Technical Support.
For further information on Task Management and Scheduling please refer to this whitepaper:-