2017-09-08 2 views
0

私はIT担当者で開発者ではありませんので、あまりにも明快な説明が必要でした。シェフを使用したJenkinsの展開プロジェクトエラー:NoMemoryError:メモリの割り当てに失敗しました

デプロイメントジョブのいずれかの問題をJenkinsに修正するよう依頼されています。デプロイメントジョブでは、シェフの料理書とナイフを.zipにコンパイルした.warsを使用して、.zipをテストサーバーにコピーします。ジョブは以前は動作していましたが、プロジェクトファイルが大きくなりました。ジョブを実行すると、バッチスクリプトの実行時に.zipファイルをコピーできませんでした。

それは私たちのジェンキンスサーバは、ラムがたくさんあるので、これは本当に不思議です...ジョブを実行しながら、私は利用率をチェックし、それは4〜6ギガバイトの上に行かない

ERROR: NoMemoryError: failed to allocate memory 

エラーで失敗しますJenkinsをホストする仮想マシンには24GBが割り当てられています。

私は手動で.zipをビルドし、インポートされたすべてのライブラリ.dllsを削除し、zipのサイズを500mb未満に減らすので、これは何らかの人為的な制限のようです。しかし、私はむしろ私の開発者のプロジェクトファイルをサイズを減らすために混乱させることはありません(BitBucketからソースがビルドされたときに、それらはすべて元通りになりました...私はどのような種類のダウンストリーム効果を取り除かなければならないのか分かりません)。

これをコピーするには、.zipsが500mbより大きい方法が必要です。これは2017年、500mbは哀れな制限です。

さらにトラブルシューティングを行う方法について教えてください。私がJenkinsサーバーで見なければならない特定のログファイルはどれですか?コンソール出力は私が何かを見る唯一の場所であり、私に教えてくれるのはメモリ割り当てエラーです。

+0

まだ助けが必要ですが、質問にまだ答えはありません。これはjvmヒープスペースの問題ではありません。他のものはメモリ不足です。 – jospeechmorph

答えて

1

JenkinsはJavaアプリケーションであり、Java仮想マシンには独自のメモリ制限がある可能性があります。 あなたは、RedHatのシステム上のすべての利用可能なオプション

のリストが表示されます、あなたは、単に/etc/sysconfig/jenkinsJENKINS_JAVA_OPTIONS-Xmx2048mを追加し、その後systemctl restart jenkins

でき

java -Xmx2048m ... 

java -Xで2ギガバイトの最大ヒープサイズアップを増やすことができます

+0

ああ私はWindows 2012 R2サーバーからJenkinsを実行していると指定していたはずです...私はこれを行っています。 JenkinsがインストールするWindows上でこの変更を行う適切な場所はどこですか? – jospeechmorph

+0

はhttps://stackoverflow.com/questions/5936519/how-to-give-jenkins-more-heap-space-when-it%C2%B4s-started-as-a-service-under-windowsから質問にお答えします。 ? –

+0

並べ替え...そのスレッドの指示に従って1024mに増やすことができました。しかし、2048mに設定した場合、Windowsサービスはエラー1067「プロセスが予期せず終了しました」で開始できません。しかし、いずれかの1024は十分ではありません(それは、965メガバイトです...しかし、それは965mib以上の1024 MBの可能性があります... idk、数学やもの)。いずれにせよ、これは問題ではありません。なぜなら、1024に設定されたデプロイメントジョブを実行しているときに、メモリエラーの割り当てに失敗しているからです。 もっと詳細なログ情報はどこにありますか? – jospeechmorph

関連する問題