Interstage Application Server 使用上の注意 - Solaris(TM) オペレーティングシステム -
目次 前ページ次ページ

第3章 注意事項> 3.19 JDK/JREの注意事項

3.19.29 Linux固有の注意事項

  1. Java使用時、環境変数LANGに日本語(例 ja_JP.eucJP)を設定し、かつ、Xインプットマネージャ(例 kinput2)を起動せず、かつ、GUIアプリケーションを実行したときに、java.awt.AWTException例外が発生する場合があります。環境変数LANGを英語(例 en_US)に設定するか、またはXインプットマネージャをGUIアプリケーション実行前に起動する必要があります。

  2. Java使用時、環境変数LANGに日本語(例 ja_JP.eucJP)を設定し、かつ、GUIアプリケーションを実行したときに、フォントのワーニングメッセージが表示される場合があります。次のいずれかで対処ください。

    1. wadalabフォントをインストールする。
    2. font.properties.ja.Turboなどを参考にして、font.properties.jaの使用するフォントを別の日本語フォントに書き換える。
    3. 境変数LANGを日本語以外で動作させる。


  3. Servletサービスまたはサーブレット・コンテナを使用し、かつServletサービスまたはサーブレット・コンテナの起動・停止を高速に連続して行ったときに、Java VMがダウンし、coreおよびJava VMのログファイル(hs_err_pid***.logまたはfjvm_pid***.log (***はプロセスID))が生成される場合がありますので、コンテナの起動・停止を高速かつ連続して行わないようにしてください。

  4. 下記パッケージがインストールされた開発環境で、JNI(Java Native Interface)を使用したアプリケーションを開発した場合、コンパイルの失敗や予期せぬ動作を引き起こすおそれがあります。JNIを使用したアプリケーションの開発時には、事前に必ずアンインストールしてください。


  5. GNOME用ウィンドウマネージャのmetacityを使用している環境において、java.awt.Frame クラスを使用した場合に、Frame.MAXIMIZED_HORIZ、Frame.MAXIMIZED_VERTがFrame.MAXIMIZED_BOTHと同じ動作となります。これはmetacityの仕様であり、ウィンドウマネージャを変更することで回避できます。

  6. デスクトップ環境にGNOMEを使用している環境において、AwtRobot APIを使用しキーボード入力を行うとキーイベントが複数発生する場合があります。これはJavaアプリケーション以外でも発生する問題であり、デスクトップ環境を変更することで回避できます。

  7. JNI処理モジュール(JNIインタフェースを使用するネイティブモジュール)においてsigaltstack関数を使用している場合、当該JNI処理モジュール内でメモリリークを引き起こす可能性があります。JNI処理モジュールでは、sigaltstack関数を使用しないでください。

  8. メモリ破壊などでOSのmalloc関数/free関数などのメモリに関する処理の中で何らかの異常が発生した場合、Javaプロセスがハングアップ状態となる場合があります。

  9. tmpwatchについて

     JDK/JRE1.4を使用している場合、Javaプロセスの動作中に、Java VMは次の共有メモリファイルを生成します。

    /tmp/hsperfdata_XXX/YYY (XXXはユーザ名、YYYはプロセスID)

     tmpwatchシェルスクリプトがcronに登録されている場合、tmpwatchシェルスクリプトにより共有メモリファイルが削除され、本製品の動作(予兆監視機能など)に支障をきたす場合があります。また、jheap(Javaプログラムのヒープ使用状況を出力するツール)を使用した場合に、次のメッセージを出力して動作しない場合があります。

    fatal error
    cannot open perf file

     そのようなときは、共有メモリファイルがtmpwatchの削除対象外となるように/etc/cron.daily/tmpwatchのシェルスクリプトを修正してください。

    /etc/cron.daily/tmpwatchシェルスクリプトの修正例

     /usr/sbin/tmpwatch XXX /tmp (XXXは時間を表す数字)に該当する処理を実行する前に以下の処理を行うように修正します。

    for f in `echo /tmp/hsperfdata_*/*` ; do
    /bin/touch $f > /dev/null 2>&1
    done

     特に、Interstage管理コンソールに表示されるIJServerのモニタ画面で、JavaVMのヒープ情報、および、JavaVMのPermanent世代領域情報が更新されなくなった場合、共有メモリファイルが削除されていないかどうかを確認してください。


目次 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005