솔라리스 su(switch user)가 되지 않을때.
이런 경우는 일반적으로 OS queue에 su 를 이용하여 작업이 수행중인 갯수가 지정된 값 (기본값은 100)이 넘은 경우 발생한다.
해결책은 /etc/cron.d/queuedefs 파일에 queue 값을 수정해 준다.
수정이 어려울 경우, su를 이용해 수행중인 작업들 중 비정상적인 경우를 kill 시켜 주는 것도 방법이다.
su를 이용해 수행중인 작업들이 종료되지 않고 쌓이는 경우는 주로 su로 switch user 할 계정의 패스워드 등이 바뀌어서 제대로 su가 되지 않는 경우 발생하기도 한다.
queuedefs 파일을 수정하는 방법은 아래와 같다.
현재 cron job 의 queue size 는 default 값이 100 개 입니다.
위 file queuedefs 에 정의 되어 있지 않으면 100 개 란 말 입니다.
지난 12월 weekly 작업을 등록 하면서 queue 한계치에 도달 할 수치에 도달 한 것입니다.
해결책은 위 queue size 을 늘려 주는 것 입니다.
# vi /etc/cron.d/queuedefs
c.300j1n
wq!
을 추가 하고 reboot -- -r 하면 됩니다.
reboot 이 여의치 않으면 cron daemon 을 kill 후 다시 살려 주면 됩니다.
이렇게 하면 cron이 queue job 을 한번에 300 개를 돌릴수 있습니다.
일단 해결책은 이 방법입니다.주중에 정의 하고 토요일 지켜 보아야 할 것으로 판단이 됩니다.
================queuedefs 정의 법=====================
/etc/cron.d/queuedefs
DESCRIPTION
The queuedefs file describes the characteristics of the queues managed by cron(1M). Each non-comment line in this file describes one queue. The format of the lines are as follows: q.[njobj][nicen][nwaitw] The fields in this line are: q The name of the queue. a is the default queue for jobs started by at(1); b is the default queue for jobs started by batch (see at(1)); c is the default queue for jobs run from a crontab(1) file. njob The maximum number of jobs that can be run simultane- ously in that queue; if more than njob jobs are ready to run, only the first njob jobs will be run, and thenjob The maximum number of jobs that can be run simultane- ously in that queue; if more than njob jobs are ready to run, only the first njob jobs will be run, and the others will be run as jobs that are currently running terminate. The default value is 100. nice The nice(1) value to give to all jobs in that queue that are not run with a user ID of super-user. The default value is 2. nwait The number of seconds to wait before rescheduling a job that was deferred because more than njob jobs were run- ning in that job's queue, or because the system-wide limit of jobs executing has been reached. The default value is 60. Lines beginning with # are comments, and are ignored.