2024年3月14日发(作者:南雪萍)
HP-UX 操作系统 - cron log 报错信息 c queue max run limit 的处理
方法
用户反映crontab进程无法挂载,检查/var/adm/cron/log,发现有如下报错
! rescheduling a cron job Thu Apr 2 09:30:00 EAT 2015
! c queue max run limit reached Thu Apr 2 09:30:00 EAT 2015
! rescheduling a cron job Thu Apr 2 09:30:00 EAT 2015
! c queue max run limit reached Thu Apr 2 09:30:00 EAT 2015
! rescheduling a cron job Thu Apr 2 09:30:00 EAT 2015
·
·
·
·
MAXRUN (100) procs reached Thu Apr 2 09:30:00 EAT 2015
因为之前发生过类似情况,查找过相关资料(见附录1)通过修改,
/var/adm/cron/queuedefs文件并重启cron进程解决,这次以为也可以这么解决,结
果发现修改数次都不成功,于是研究了一下queuedefs文件条目的定义(见附录2),
发现我们以前理解错误。
系统默认queuedefs文件内容为:
$ more queuedefs
a.4j1n
b.2j2n90w
我们在后面添加了一行c队列:
a.4j1n
b.2j2n90w
c.100j1n
我们之前理解为crontab每个时间点都能运行100个,那么60分钟就可以运行
6000个,这个理解完全错误!cron规定每个时间点同时运行的job数最多只能有100
个,默认是100,最大值也是100。前一个时间点挂载的进程,只要没有退出,都要算在
下一个时间点的计数里。因此我们添加一行同时运行100个进程的c队列是无意义的,
我们可以通过queuedefs来限制用户可以执行的cron任务数,但是不能加大超过100
的限制。HPUX的crontab和Solari的类似,这个限制我们无能为力。
2024年3月14日发(作者:南雪萍)
HP-UX 操作系统 - cron log 报错信息 c queue max run limit 的处理
方法
用户反映crontab进程无法挂载,检查/var/adm/cron/log,发现有如下报错
! rescheduling a cron job Thu Apr 2 09:30:00 EAT 2015
! c queue max run limit reached Thu Apr 2 09:30:00 EAT 2015
! rescheduling a cron job Thu Apr 2 09:30:00 EAT 2015
! c queue max run limit reached Thu Apr 2 09:30:00 EAT 2015
! rescheduling a cron job Thu Apr 2 09:30:00 EAT 2015
·
·
·
·
MAXRUN (100) procs reached Thu Apr 2 09:30:00 EAT 2015
因为之前发生过类似情况,查找过相关资料(见附录1)通过修改,
/var/adm/cron/queuedefs文件并重启cron进程解决,这次以为也可以这么解决,结
果发现修改数次都不成功,于是研究了一下queuedefs文件条目的定义(见附录2),
发现我们以前理解错误。
系统默认queuedefs文件内容为:
$ more queuedefs
a.4j1n
b.2j2n90w
我们在后面添加了一行c队列:
a.4j1n
b.2j2n90w
c.100j1n
我们之前理解为crontab每个时间点都能运行100个,那么60分钟就可以运行
6000个,这个理解完全错误!cron规定每个时间点同时运行的job数最多只能有100
个,默认是100,最大值也是100。前一个时间点挂载的进程,只要没有退出,都要算在
下一个时间点的计数里。因此我们添加一行同时运行100个进程的c队列是无意义的,
我们可以通过queuedefs来限制用户可以执行的cron任务数,但是不能加大超过100
的限制。HPUX的crontab和Solari的类似,这个限制我们无能为力。