ローカルコンピューターのubuntu 10.4(vmware fusionを使用)でjenkins-ciを正常にテストしました。これをhosteuropeの仮想サーバーにインストールして使用したいと思います。基本的なインストールは問題ありませんでしたが、ビルドプロジェクトに問題があります。
Mercurial更新をリポジトリーからプルした後、antが呼び出され、ビルドプロジェクトで次のエラーをスローします。
"ビルドファイル:/var/lib/jenkins/workspace/concrete5-seed-clean/build.xml [プロパティ] Java.io.IOException:プログラムを実行できません"/usr/bin/env ":Java.io.IOException:error = 12、メモリを割り当てられません
Hosteurope( http://faq.hosteurope.de/index.php?cpid=13918 )の仮想サーバーのヒープサイズに既知の問題があるため、手動でヒープサイズを設定しようとしました:
# for ant
export ANT_OPTS="-Xms512m -Xmx512m"
# jenkins
# edited /etc/default/jenkins, added line
Java_ARGS="-Xms512m -Xmx512m"
# restarted jenkins via /etc/init.d/jenkins restart
これをantに設定した後、「ant -diagnostics」コマンドを実行してもエラーは発生しませんが、プロジェクトをビルドしようとするとエラーが発生します。
サーバーの詳細:- http://www.hosteurope.de/produkt/Virtual-Server-Linux-L
私の質問:-Jenkinsには1GBで十分ですか、それともサーバーをアップグレードする必要がありますか? -このエラーはantまたはjenkinsが原因ですか?
更新:antオプション-Xmx128m -Xms128mを指定して実行しましたが、エラーが再度発生する場合があります。 (これは私を驚かせます、私は今ではそれを再現できないので:/)
どうぞよろしくお願いいたします。
乾杯、マティアス
例外メッセージに注意してください:Cannot run program "/usr/bin/env": Java.io.IOException: error=12, Cannot allocate memory"
Javaプロセスはコマンドを実行するために新しいプロセスをフォークしようとしています/usr/bin/env
ですが、オペレーティングシステムのメモリリソースが不足しているため、新しいプロセスを作成できません。これは、Java VMメモリ不足)と同じではないため、-Xmxフラグをいじるだけでは修正できません。監視する必要があります。ビルド実行中のメモリリソーススワップスペースを増やすと問題が解決する可能性があります。
ANT_OPTSがJenkinsによってオーバーライドされる可能性があります。ビルドファイルで直接オプションを設定して、環境(シェル、ジェンキンスなど)とは独立してメモリ割り当てを制御することもできます。ビルドファイル内(例:
<Java fork="true" classname="..." >
<jvmarg line="-Xms512M -Xmx512M" />