プロセスがクラッシュしてからコア ダンプが発生すると、問題が発生します。プロセスが約 20 GB の大きなメモリを占有するため、コア ダンプは 20 GB のコア データをディスクに書き込む必要があり、ディスクの使用率が非常に高くなり、負荷が劇的に増加します。
コアダンプの書き込み速度を制限するには? プロセスがクラッシュするとサーバーがハングします。残念です。
簡単な方法はないと思います。
ただし、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。私はこれらのアイデアをテストしたことがないので、間違っているかもしれません。