web-dev-qa-db-ja.com

Jenkins CI-メモリを割り当てられません

ローカルコンピューターの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

  • Ubuntu 10.4 LTS
  • RAM:1GB /ダイナミック2GB

私の質問:-Jenkinsには1GBで十分ですか、それともサーバーをアップグレードする必要がありますか? -このエラーはantまたはjenkinsが原因ですか?

更新:antオプション-Xmx128m -Xms128mを指定して実行しましたが、エラーが再度発生する場合があります。 (これは私を驚かせます、私は今ではそれを再現できないので:/)

どうぞよろしくお願いいたします。

乾杯、マティアス

9
Programmieraffe

例外メッセージに注意してください:Cannot run program "/usr/bin/env": Java.io.IOException: error=12, Cannot allocate memory" Javaプロセスはコマンドを実行するために新しいプロセスをフォークしようとしています/usr/bin/envですが、オペレーティングシステムのメモリリソースが不足しているため、新しいプロセスを作成できません。これは、Java VMメモリ不足)と同じではないため、-Xmxフラグをいじるだけでは修正できません。監視する必要があります。ビルド実行中のメモリリソーススワップスペースを増やすと問題が解決する可能性があります。

1
orien

ANT_OPTSがJenkinsによってオーバーライドされる可能性があります。ビルドファイルで直接オプションを設定して、環境(シェル、ジェンキンスなど)とは独立してメモリ割り当てを制御することもできます。ビルドファイル内(例:

<Java fork="true" classname="..." >
    <jvmarg line="-Xms512M -Xmx512M" />
0
Matteo