1

プロセスがクラッシュしてからコア ダンプが発生すると、問題が発生します。プロセスが約 20 GB の大きなメモリを占有するため、コア ダンプは 20 GB のコア データをディスクに書き込む必要があり、ディスクの使用率が非常に高くなり、負荷が劇的に増加します。

コアダンプの書き込み速度を制限するには? プロセスがクラッシュするとサーバーがハングします。残念です。

4

1 に答える 1

4

簡単な方法はないと思います。

ただし、Linux では、/proc/sys/kernel/core_patternファイル ( core(5)およびproc(5)のマニュアル ページを参照) を使用できますcore_pattern。パイプ記号で始まる場合は、|core をプログラム (またはスクリプト) に書き込むこともできます。書き込みが遅くなる可能性があります。

または、ユーザー空間のファイルシステムを使用することもできます (たとえば、FUSEを介して)。

また、coreファイルは別の場所へのシンボリック リンクである可能性があります (たとえば、書き込みが遅くなる FUSE ファイルシステムや、単に SSD ディスク上の高速ファイルシステムなど)。

もちろん、コアのダンプを回避することもできます ( setrlimit(2)またはシェルのビルトインによって、または....ulimitを介してプログラムを開始することによって)。gdb --args

そして、コマンドを適切にionice(1)すると、すべてのディスクI/Oが合理的に遅くなる可能性があると思います。

PS。私はこれらのアイデアをテストしたことがないので、間違っているかもしれません。

于 2013-02-27T09:49:26.170 に答える