21

プログラムを実行していますが、セグメンテーション違反によって中断されます。問題は、コア ダンプ ファイルが作成されるが、サイズがゼロであることです。

そのようなケースとその解決方法について聞いたことがありますか?

ディスクに十分なスペースがあります。コア ファイルのサイズを制限しないように既に実行ulimit -c unlimitedしましたが、コア ファイルを実行するか、送信されたバッチ ファイルの先頭に置きますが、まだ 0 バイトのコア ダンプ ファイルがあります。これらのファイルを含むフォルダーのアクセス許可は uog+rw であり、作成されたコア ファイルのアクセス許可は u+rw のみです。

プログラムは C++ で作成され、Grid Engine の qsub コマンドを使用して Linux クラスターに送信されます。この情報がこの質問に関連しているかどうかはわかりません。

4

4 に答える 4

17

設定ulimit -c unlimitedにより、ダンプの生成がオンになりました。デフォルトでは、nfs 上の現在のディレクトリにコア ダンプが生成されます。に設定/proc/sys/kernel/core_patternすると/tmp/core、空のダンプの問題を解決するのに役立ちました。

Ranjith Ruban からのコメントは、この回避策を開発するのに役立ちました。

コアのダンプに使用しているファイル システムは何ですか?

于 2015-03-10T11:09:08.670 に答える
7

バッチ スケジューラを使用して実行可能ファイルを起動しているようです。Torque/PBS がジョブを生成するために使用しているシェルが、別の ulimit 値を継承している可能性がありますか? スケジューラのデフォルト設定は、コア ダンプを保存しないようになっているのでしょうか?

代わりに、コマンド ラインからプログラムを直接実行できますか?

または、実行可能ファイルを呼び出す前に PBS バッチ スクリプトの先頭にulimit -c unlimitedand/orを追加すると、PBS のデフォルトの ulimit 動作をオーバーライドできる場合があります。ulimit -s unlimitedまたは、「ulimit -c」を追加すると、とにかく制限が何であるかを報告できます。

于 2012-11-16T05:32:33.237 に答える
0

6GBの物理メモリを予約qsubするなどのオプションを使用して、必要な物理メモリなどのリソース制限を設定できます。-l h_vmem=6G

ファイル ブロックについてh_fsizeも、適切な値を設定できます。

qconf マンページの RESOURCE LIMITS セクションを参照してください。

http://gridscheduler.sourceforge.net/htmlman/htmlman5/queue_conf.html

s_cpu     The per-process CPU time limit in seconds.

s_core    The per-process maximum core file size in bytes.

s_data    The per-process maximum memory limit in bytes.

s_vmem    The same as s_data (if both are set the minimum is
           used).
h_cpu     The per-job CPU time limit in seconds.

h_data    The per-job maximum memory limit in bytes.

h_vmem    The same as h_data (if both are set the minimum is
           used).

h_fsize   The total number of disk blocks that this job  can
           create.

また、クラスターが各ノードにローカル TMPDIR を使用していて、それがいっぱいになっている場合は、TMPDIR をより容量のある別の場所 (NFS 共有など) に設定できます。

export TEMPDIR=<some NFS mounted directory>

次に、現在の環境をジョブにエクスポートするオプションを使用して起動qsubします。-V

上記の 1 つまたは組み合わせが、問題の解決に役立つ場合があります。

于 2015-05-11T13:16:28.950 に答える