AWS マシンに ssh 転送された接続を介していくつかの残りのクエリを実行するコードがいくつかあり (fyi: これらのクエリは、このマシンで実行されている Solr サーバーにアクセスしています)、クエリは私のローカルホストに対して実行されます (AWS に転送されます)。実例)。
コードは最初は必要に応じてデータを取得するためにうまく実行されますが、しばらく実行した後、コードは失速します (Eclipse で)。
まさにこの瞬間、端末 (つまり、ssh トンネルを開始した場所) が完全にフリーズし、 String でいっぱいになります。
「受け入れます: 開いているファイルが多すぎます」
この無限出力は bash 端末に関連付けられていないため (つまり、ssh 接続がまだ有効かどうかはわかりません。また、どのシェルにいるかを示すテキストもありません... 単純で執拗な print ステートメントだけです)。それがAmazonから来ているのか、それとも私のクライアント端末から来ているのか教えてください。
この動作の原因を突き止め、端末が爆発する原因となっているマシンを特定したい
2 台のマシンのどちらがエラーの無限出力を引き起こしているかをテストするために、サーバーで ulimit コマンドを実行しました...そして、(aws サーバーで) 許可されているオープン ファイルの最大数が、クライアントプログラム(私のIDEから実行中)の実行中はいつでもファイルを開きます(これもulimitを使用して決定されます)。
クライアントで同じテストを行ったところ、開いているファイルの数に大きな増加は見られませんでした。
いくつかの詳細: 短期間に 100GB を超えるデータを持つ SOLR サーバーに対して数百のクエリを実行しています。
私のsshd mac os x端末が死んでいて、このメッセージを無限に出力している理由を特定する方法に関するヒントは、私にとって非常に役立つ可能性があります. もちろん、それらが solr に固有のものであるかどうかは関係ありません。そうは言っても、solr サービスを使用するときになぜこれが発生するのかについての洞察も、この問題の解決に役立つ可能性があります。