-1

ラッパーを介して実行され、グリッド (Linux) でジョブとして送信されるアプリケーションがあります。y タスクは、プロセスの RAM と仮想メモリの使用状況を監視することです。メモリの問題が原因でプロセスが失敗した場合は、より高いメモリ要件でグリッドに再送信します (何らかのスイッチを使用)。これは、メイン アプリケーションを監視するアプリケーションとは別のスレッドを呼び出し、失敗した場合はメイン アプリケーションを再起動することで実現できると思います。この問題をよりよく解決するためのアドバイスを求めています。

ありがとうルチ

4

2 に答える 2

0

C および C++ では、関数から戻ると実行中のすべてのスレッドが強制終了されるため、スレッドは機能しませmain(親スレッドが終了すると、子スレッドは終了します)。

別のプロセスにする必要があります。おそらく、アプリケーションを管理するプロセスを開始するスクリプトです。

于 2013-06-26T05:58:39.330 に答える
0

これを行う通常の方法は、メモリ割り当てがいつ失敗したかをチェックすることです。つまり、malloc() です。malloc() が失敗した場合、それはシステム メモリがほぼいっぱいであり、その特定のケースではやりたいことを実行できることを示しています。

于 2013-06-26T05:58:54.783 に答える