Cognos BIのレポートでグラフに大量のデータをレンダリングしていると、Graphics ServiceのJVMメモリーのOut Of Memoryエラーが発生して、レポートが実行できない事が良く発生します。
たとえば、折れ線グラフのX軸を最大個数表示、カテゴリも最大種類数表示、プロンプト等でパラメーターを保持しているのであれば、パラメーター文字数も最大になるようプロンプトを選択して、グラフの表示が問題なくできるか、テストで確認しておく必要があります。
エラーになる場合、以下を参考にして、チューニングを行ってください。
WindowsとLinuxでチューニング方法が異なりますが、こちらのTechnoteにまとまっています。
Java Heap Space Error When Running Report with a Chart
http://www-01.ibm.com/support/docview.wss?uid=swg21695636
<抜粋>
For Windows 64-bit environment:
- Ensure you make a back up of \webapps\p2pd\WEB-INF\services\cgsService.xml
- Using a text editor edit cgsService.xml
- Locate the first instance of <!-- JVM arguments -->
- Change
<child-proc-cmd>Xmx1g</child-proc-cmd>
to
<child-proc-cmd>Xmx4g</child-proc-cmd>
- Add the following after the above line:
<child-proc-cmd>Xms4g</child-proc-cmd>
<child-proc-cmd>Xmn2g</child-proc-cmd>
On UNIX/Linux 64-bit
Make a back up of cgsServer.sh located in both /bin64 and /bin
Modify cgsServer.sh in both places as such:
Replace:
\$JAVA_CMD \$JAVA_OPTS -Xmx1g \$USE_NON_ASYNC -classpath \$CLASS_PATH com.ibm.cgsBus.CGSServer
with
\$JAVA_CMD \$JAVA_OPTS -Xmx4g -Xms4g -Xmn2g -Xcompressedrefs \$USE_NON_ASYNC -classpath \$CLASS_PATH com.ibm.cgsBus.CGSServer