しばやん雑記

ASP.NET とメイドさんが大好きなフリーランスのプログラマーのブログ

Microsoft Azure Web サイトで 64bit 版の Java を動かす

真面目に仕事をしていたら、お義父さんの以下のような呟きが目に入ったのでまとめておきます。

あまり仕事はしていない様子。

結論から言うと、Azure Web サイトには 64bit 版の Java ランタイムがインストールされていますし、無料モードでも 64bit 版を使うことが出来ます。

とりあえず実際に手順を確認しておきます。適当に今回はギャラリーから Jetty を選択して新しく Web サイトを作成すると、Java の情報が表示されます。

f:id:shiba-yan:20140519173017p:plain

os.arch の値が x86 となっているので、このアプリケーションは 32bit 版の Java で動作しています。

そして Kudu を使って 64bit 版の Program Files ディレクトリを確認しておくと、しっかりと Java が入っていることが確認できますね。

f:id:shiba-yan:20140519173305p:plain

デフォルトで 32bit の Java が使われている理由は、環境変数の JAVA_HOME の値が 32bit 版を指しているからです。単純ですね。

f:id:shiba-yan:20140519180754p:plain

なので、JAVA_HOME の値を 64bit 版を指すように修正してあげれば 64bit で動作するようになります。設定方法はアプリケーション設定から JAVA_HOME を追加するだけです。

f:id:shiba-yan:20140519173216p:plain

あまり知られていないですが、ここで定義した値は環境変数としても登録されるのでオーバーライドが可能というわけです。ただし PATH などのシステム的に重要なものは設定できません。

これでもう一度ページへアクセスすると os.arch の値が amd64 になりました。

f:id:shiba-yan:20140519173153p:plain

無料モードでも Java は 64bit での動作になりますが、リソースにクオーターが設定されているので共有以上じゃないと使いにくいと思います。