2012-04-17 18 views
0

これはクラスタ固有の問題ですが、管理者のみが解決できますが、優先度の低いジョブがあり、優先度が高い場合、プロセスは強制終了されます。再起動ジョブではなくSun Grid Engineのサスペンド

高優先度ジョブが終了すると、低優先度ジョブが再開されます。プロセスを強制終了せずに、SIGSTOPなどを介して最初に起動したマシンでサスペンドさせる方法はありますか?残念ながら、チェックポイントはここでのオプションではありませんので、私はメモリ内のものを捨てることなくジョブを保持できるようにしたいと考えています。

私たちは、このマシンへのsshを持っているので、他のすべてが失敗した場合、私は、目的の動作を取得するには、本当にずさんなスクリプトハック行うように誘惑しています:

1. start the process locally 
2. send a SIGSTOP 
3. make the job script send SIGCONT and just spin watching the process 
4. when the job gets suspended, send a SIGSTOP again 
5. when the job gets resumed, it should just send a SIGCONT 

を私はむしろ全力を尽くすだろう

答えて

1

SGEのサスペンド/ストップメカニズムは、キュー単位で、suspend_method,resume_methodおよびterminate_methodの各プロパティによって制御されます。デフォルトは次のとおりです。

  • suspend_method

    は -
  • resume_method SIGSTOP
  • を送る -
  • terminate_method SIGCONT
  • を送信する - 私はにSGEのための他の理由を見ることができないデフォルト値をいじりよりも、送信SIGKILL

その他それらを止める代わりに仕事を殺す。

+0

通常のユーザーがこれらのプロパティを変更する方法やキュー管理者のみが使用できる方法はありますか? – zje

+0

キューのプロパティを変更するには、root権限またはSGEオペレータ権限が必要です。 –

関連する問題