複数のファイルを設定しましたが、crontab
すべてのスクリプトを5分ごとに実行する必要があります。
これらのスクリプトに一度に多くのCPUとIOが必要で、システムが利用できなくなると問題が発生します。
この効果を軽減するために、各スクリプト実行の間に10秒を置くオプションがあるかどうかを知りたいです。これらすべてのスクリプトに処理するデータが多すぎる場合は、大幅に増加する負荷(単一コアの場合は40以上)を利用できる必要があります。
すべてのスクリプトに対して5分秒で起動するのではなく、crontabでスクリプトを5分ごとに実行するようにスケジュールすることは可能ですか?
ベストアンサー1
クローンアイテムを作成します。
*/5 * * * * processA ; sleep 10 ; processB ; sleep 10 ; process C
しかし、私はそうしないことをお勧めします。
cronをどのように使用するのか分かりません。クローンはそれほどスマートではありません。 5分ごとにジョブを実行し、ジョブを実行するのに6分かかる場合は、2つのプロセスが実行されます。結局、数十または数百のプロセスが同時に実行されます。
より安全な方法はcronを使用しないことです。代わりに、このようなスクリプトを実行してください。 systemd または /etc/init.d スクリプトを使用して、常に実行される「サービス」に切り替えます。
while true ; do
processA
sleep 10
processB
sleep 10
processC
sleep 600
done
詳細な説明はここで見ることができます。