BLOGTIMES
2008/08/07

バックグラウンドで重いプログラムを走らせるときには

  server  linux 
このエントリーをはてなブックマークに追加

このサーバはログの分析や、バックアップなどで重たいバッチを1日に何回か起動させています。そのようなバッチの起動中にはHTTPのレスポンスが低下してしまうので、バッチ処理を行っているプロセスの優先度を下げる設定を調べてみました。

Manpage of nice

引数なしで実行すると、 nice は自身が継承したスケジューリング優先度を表示する。それ以外の場合には、 nice はスケジューリング優先度を調整してから与えられた command を実行する。 adjustment が与えられなかった場合には、 command の優先度は 10 増加される。 nice によって調整できる優先度の範囲は -20 (優先度最高) から 19 (優先度最低) までである。負の adjustment を与えるには適切な特権 (通常はスーパーユーザー権限) が必要である。 ほとんどのシェルには同名の組み込みコマンドがあるので、単に "nice" として実行すると、ここで記述されたものとは異なった機能のものが実行されるだろう。

例えば./hoge.plの優先度を最低で起動するには以下のようにすればいいようです。

/bin/nice -n 19 ./hoge.pl

ちなみに既に起動されているプロセスの優先度を変更するにはreniceで変更することができるようです。
ちょっとバッチに仕込んでみて様子を見ようと思います。


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/2675
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン