ページの先頭行へ戻る
Interstage Application Server V12.3.0 使用上の注意
FUJITSU Software

2.12.23 Linux固有の注意事項

Servletサービスまたはサーブレット・コンテナの使用について

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


JNI(Java Native Interface)を使用したアプリケーションの開発について

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

AwtRobot APIを使用しキーボード入力について

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


sigaltstack関数について

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


メモリに関する処理で異常が発生した場合について

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


RHEL6(x86)/RHEL6(Intel64)/RHEL7(Intel64)/RHEL8(Intel64)におけるOSの仮想メモリ管理について

RHEL6(x86)/RHEL6(Intel64)/RHEL7(Intel64)/RHEL8(Intel64)におけるOSの仮想メモリ管理は、プロセス内のスレッドからmalloc()関数実行による仮想メモリ獲得要求があった場合、各スレッドごとに、以下の大きさを1単位とした「malloc()用領域」を確保(リザーブ)します。

そのため、RHEL6(x86)/RHEL6(Intel64)/RHEL7(Intel64)/RHEL8(Intel64)上において、malloc()関数を実行(他の関数の延長でmalloc()関数が間接的に実行された場合も含む)するスレッドの数が多いプロセスを実行した場合、OSの仮想メモリ管理によるスレッド数に依存した「malloc()用領域」の確保により、同一のプログラムを実行するプロセスの場合であったとしても、当該プロセスに対して確保される仮想メモリの大きさが、他のバージョンのOS上で実行された場合に比べて大きくなる場合があります。

特に64ビットモードのプロセスを実行した場合、この傾向が顕著になる場合があります。

そしてJavaアプリケーションを実行するプロセスは、マルチスレッドで動作するプロセスであるため、上記傾向が強くなります。

注意

  • 確保された「malloc()用領域」のうち、実際に使用される仮想メモリ量(システム資源量)は、各スレッドにおいてmalloc()関数で指定された要求量と、OSによる仮想メモリ管理用制御域の大きさの総和です。

  • 上記傾向は、psコマンドを使用した場合は、値として仮想メモリ量(VSZ値)を参照した際に確認されます。

com.sun.nio.sctp.SctpChannel クラスの使用について

RHEL6(x86)/RHEL6(Intel64)のSELinuxの動作モードをEnforcingとした環境において、JDK/JREの com.sun.nio.sctp.SctpChannel クラスを使用した場合、以下のExceptionが発生する場合があります。

java.net.SocketException: 許可がありません

このようなExceptionが発生した場合は、以下のどちらかの対処を行ってください。

GConfエラーの発生について

GNOME環境においてネットワークプロキシを設定していない場合、JDK付属のwsimportコマンドを使用すると以下のメッセージが出力される場合があります。

GConf エラー: 設定サーバ (gconfd) に接続できませんでした

wsimportコマンド使用時にネットワークプロキシを使用する場合は、GConfの設定で適切なプロキシを設定してください。ネットワークプロキシが必要ない場合は、このメッセージを無視してください。

なお、Java EE 6/7運用コマンドijwsimportにおいても同様な現象が生じる場合がありますので、その場合は上記と同じ対処を行ってください。

RHEL7/RHEL8上でのGUIアプリケーションの動作に必要なライブラリ

RHEL7/RHEL8上で、SwingやAWTなどの、32ビットモードJDK/JREの機能を使ったGUIアプリケーションを使用する場合、日本語を正しく表示するためには、インストールが必要なライブラリがあります。

詳細については、“インストールガイド”の“特定の機能に関する注意事項”の“JDK/JRE”を参照してください。

なお、Javaツール機能に含まれるjvisualvm、jconsole、およびJava監視機能を使用する場合も同様です。