vine-users ML アーカイブ



[vine-users:078768] Re: cronに ついて

  • From: kaz <okui@xxxxxxxxxxxx>
  • Subject: [vine-users:078768] Re: cronに ついて
  • Date: Mon, 22 Sep 2008 20:55:05 +0900
こんばんは、奥井です。
詳しい調査ありがとうございます。
結論はcronを1分ごとに起動する時、1秒少なくなくなる確立が一番高くなるという事でしょうか?


> 鈴木です。
> 
> logger を使った方法だと、あまりに時間がばらつくので、
> crond 自体を改造(といっても、syslog に書き込むところで
> gettimeofday(&t, NULL);
> の結果を追加して解像度を上げただけですが)
> して、ログを観測してみました。
> すると、
> 
> Sep 22 01:26:00 irish CROND[3668]: [1222014360.277894](user_1) CMD (~/check_fetch 2>&1 /dev/null)
> Sep 22 01:27:00 irish CROND[3704]: [1222014420.468917](user_1) CMD (~/check_fetch 2>&1 /dev/null)
> Sep 22 01:28:00 irish CROND[3732]: [1222014480.651941](user_1) CMD (~/check_fetch 2>&1 /dev/null)
> Sep 22 01:29:00 irish CROND[3760]: [1222014540.806967](user_1) CMD (~/check_fetch 2>&1 /dev/null)
> Sep 22 01:30:00 irish CROND[3788]: [1222014600.997993](user_1) CMD (~/check_fetch 2>&1 /dev/null)
> Sep 22 01:30:01 irish CROND[3792]: [1222014601.009001](user_2) CMD (/home/user_2/setDDNS.sh>/dev/null)
> ..............
> Sep 22 01:36:00 irish CROND[4008]: [1222014960.292252](user_1) CMD (~/check_fetch 2>&1 /dev/null)
> Sep 22 01:37:00 irish CROND[4052]: [1222015020.483267](user_1) CMD (~/check_fetch 2>&1 /dev/null)
> Sep 22 01:38:00 irish CROND[4097]: [1222015080.674313](user_1) CMD (~/check_fetch 2>&1 /dev/null)
> Sep 22 01:39:00 irish CROND[4129]: [1222015140.861303](user_1) CMD (~/check_fetch 2>&1 /dev/null)
> Sep 22 01:40:01 irish CROND[4160]: [1222015201.052362](user_1) CMD (~/check_fetch 2>&1 /dev/null)
> Sep 22 01:40:59 irish CROND[4197]: [1222015259.815549](user_1) CMD (~/check_fetch 2>&1 /dev/null)
> Sep 22 01:42:00 irish CROND[4233]: [1222015320.994509](user_1) CMD (~/check_fetch 2>&1 /dev/null)
> Sep 22 01:42:01 irish CROND[4236]: [1222015321.002658](user_2) CMD (/home/user_2/setDDNS.sh>/dev/null )
> 
> 何やら、常時オフセットが加算されていっているような結果が出ました。
> このオフセットは、システムの忙しさにも左右されるように見えます。
> 起動が早すぎる 01:40:59 のログも、ntpd 関連にしては
> -180ms とオフセットが大きすぎますし、
> (ntpd が、このときだけ step モードで時間調整したと考えることもできますが...)
> やはり、
> 次のジョブが起動するまでの sleep() に与える秒数を計算するとき、
> 秒の境界付近にいると、オーバーヘッドにより結果が1秒少なくなくなるときがある
> というのが正解のように見えます。
> 
> -- 
>  Hiroshi Suzuki              It's crucial   qp
>  setter AT i-red DOT info        to my     (..)/
>  http://my.reset.jp/~setter/  Well-being   -  -
>  http://i-red.info/                         ~~
>  Powered by Linux/DeleGate   _____________*-_____
>