7

Hudsonを継続的インテグレーションシステムとして使用して、多くのプロジェクトの自動ビルド(夜間およびCVSポーリングに基づく)を実行します。

15分ごとにCVSをポーリングするプロジェクトもあれば、5分ごとにポーリングするプロジェクトもあれば、1時間ごとにポーリングするプロジェクトもあります。

数週間ごとに、次の出力で失敗するビルドを取得します。

FATAL: java.io.IOException: Too many open files
java.io.IOException: java.io.IOException: Too many open files
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)

次のビルドは常に機能し(変更は0)、最大2つのビルドジョブが同時に実行され、プロセス中に開いているファイルが多すぎます。

今週末、金曜日の夜にビルドが失敗し(自動ナイトリービルド)、メッセージが表示され、他のすべてのナイトリービルドも失敗しました。どういうわけか、これによりハドソンは問題が解決するまで失敗したすべてのプロジェクトを継続的に構築しました。これにより、問題が魔法のように消える土曜日の夜まで、すべてのプロジェクトのビルドが30分ごとに行われました。

4

5 に答える 5

4

これはHudsonissue715(http://issues.hudson-ci.org/browse/HUDSON-715)です。現在の推奨事項は、ポーリングアクティビティを抑えるために、「同時ポーリングスレッドの最大数」を設定することです。

于 2009-07-16T17:39:32.393 に答える
3

この種の問題を修正するために必要なものについては、https://wiki.jenkins-ci.org/display/JENKINS/I%27m+getting+too+many+open+files+errorを参照してください。

于 2010-01-22T16:42:46.350 に答える
0

プロセスごとの最大オープンファイル記述子のシステム制限を変更しますか?ulimit -nJavaプロセスの場合と同じですか?

于 2008-09-22T13:45:00.463 に答える
0

「開いているファイルが多すぎる」という最も一般的な問題の 1 つは、Jenkins で Active Directory プラグインを有効にして構成することです。このプラグインには既知の問題があり、膨大な数のスレッドが表示され、ログにも「開いているファイルが多すぎます」というエラーが表示されます。無効にして LDAP 認証に切り替えた後、Jenkins がハングすることはなくなりました。

于 2014-08-13T07:58:58.330 に答える
0

Debian で実行されている別の Java アプリケーションでこの問題を経験しましたが、Java バージョン 1.6.0.0 にダウングレードすると解消されました。Java は未使用の接続を閉じなかったため、例外がスローされました。

于 2009-07-16T17:54:49.867 に答える