16bit!

エンジニアじゃなくなっちゃった人が何かを書くブログ

【Java】Java1.4以前のデフォルトヒープサイズが小さすぎてしねる

社内の古い環境にJava1.4で動いているものがありまして、
先日そのサーバのとあるサービスでOutOfMemoryが起こりました。

で、調べてみるとそのサービスをスタートするバッチで、
Javaの最大ヒープサイズを特に指定していなかったことが判明。

特に何も指定していない場合、デフォルトのヒープサイズっていくらなんだっけ?
というわけでぐぐる

http://tech.ewdev.info/2012/01/298/

JVMヒープサイズのデフォルト値
J2SE 5.0以前
初期値:2MB
最大値:64 MB

http://www.whitemark.co.jp/tec/java/javaHeap.html

JRE 1.4.2_* 系の JVM の ヒープサイズのデフォルト値は -Xms が 2MB 、-Xmx が 64 MB となっています。

Garbage Collection Ergonomics

Before J2SE 5.0, the default maximum heap size was 64MB.

64MB・・・だと・・・!?

こんなもんちょっとしたサービスなら即死レベルじゃないか。
逆に今まで動いてたのが不思議なくらいです。

みなさんもXmsとXmxは忘れずにちゃんとチューニングしましょう。


終わり。

※プログラミングの話題ですが、雑記に近いのでQiitaではなくブログに書きました。