Problem:

User complains the cron jobs are not running.
When checking the /var/adm/cron/log, there were repeated errors like:

! rescheduling a cron job Wed Jul 18 17:11:00 2012
 ! c queue max run limit reached Wed Jul 18 17:11:00 2012

Solution:

Most likely, your system is having some issues. Either it is experiencing some hardware issue or the filesystems are corrupted.

If none of these is true, then you should consider increase the cron job queue size.

You can edit the file /var/adm/cron/queuedefs. Here is the default content of the file: You can see the default size is 50.

# cron values for each queue of batch jobs:
 #
 # queue.xxjxxnxxw
 #
 # queues:
 # a – sh jobs d – sync event
 # b – batch jobs e – ksh jobs
 # c – cron event f – csh jobs
 #
 # xxj – maximum number of jobs in this queue (deafult 100)
 # xxn – nice value at which these jobs will run at (default 2)
 # xxw – wait time till next execution attempt (default 60 seconds)
 #
 #
 # here is an example of a low prority (nice 20), 50 entry batch queue
 # b.50j20n60w
 #

To increase the queue size to 300, you can add the following line:

c.300j20n60w

Then kill and current cron process and let it respawn:

kill $(ps -ef|grep [Cc]ron|awk '{print $2}')
sleep 5
ps -ef|grep cron