3

プラットフォーム: Windows 7 32 ビット、erlang R15B01。

200 の異なる tcp ポート (200 gen_servers) を同時にリッスンする erlang サーバーを開発しました。

中程度の負荷が数分続くと (少数のクライアントが並行して)、ノード全体が完全にフリーズします。シェルも完全にフリーズします。

この問題はどのように診断できますか? この種の問題に対する標準的な erlang のアプローチはありますか? (メモリ消費量が少なかったので、何らかのメモリリークではありませんでした)

重要な編集

werl.exe ではそのような問題はないようです。erl.exeの下のみ。おそらくhttp://erlang.2086793.n4.nabble.com/erl-exe-dies-but-werl-exe-does-not-on-both-Windows-XP-and-2008R2-with-R14B01-と同じです。 td3335030.html

4

2 に答える 2

7

でプロセスを強制終了するとkill -SIGUSR1 <pid>、erlang VM はerl_crash.dumpアプリが開始されたディレクトリに erlang クラッシュ ダンプ ファイルを生成します。

その後、クラッシュ ダンプ ビューアを使用して分析できます。

于 2012-07-31T21:31:44.003 に答える
0

Erlang シェルのフリーズは、キャッチされない終了シグナルによって引き起こされる可能性があります。シェル プロセス (サーバーの親プロセスであると仮定) で終了をトラップすることを試みることができます。これにより、終了理由が得られます。エラーに関するリファレンスマニュアルを参照してください

于 2012-08-02T10:32:18.993 に答える