ページの先頭行へ戻る
Interstage Application Server V13.0.0 チューニングガイド
FUJITSU Software

第7章 OpenJDK 8のチューニング

CやC++では、メモリに割り当てた領域は、不要になった時点でプログラマーが明示的に解放する必要があります。しかし、この解放処理に漏れやミスがあると、メモリリーク、プログラム停止および暴走が発生するデメリットがあります。

Javaでは、ガーベジコレクション(GC)を導入したことにより、プログラマーがメモリ管理において作業の負担を軽減できるようになりました。その反面、GCが発生するたびにJavaアプリケーションが一時停止するため、パフォーマンス劣化の要因になることがあります。また、Java独特のメモリリークも存在します。

Javaでは、スレッドを管理しやすいため、大量のスレッドを生成する傾向があります。このため、スタックが大量に生成されて、メモリ不足になることもあります。

以上から、多くの場合において、チューニングは、スタックサイズ、またはGCの発生頻度とその処理時間を調整することになります。本章では、Javaアプリケーションのチューニングにあたって、必要な基礎知識やチューニング方法などを説明します。