Hitachi

DABroker


7.5.3 システムコールのエラー番号

代表的なシステムコールのエラー番号に対する原因と対策を表7-5に示します。表7-5にないエラーについては,使用しているOSのマニュアルを参照してください。

ここでは,主なシステムコールについてだけ記述しています。さらに,詳細に調べる場合は,メッセージで表示されたシステムコールのエラー番号の値に該当するニモニックを,使用しているOSのerrno定義ファイルで調べてください。そして,該当するニモニックのエラーが返った原因を,OSのマニュアルで特定してください。

表7‒5 システムコールのエラー番号に対する原因と対策

システムコール

errno

ニモニック

考えられる主な原因

対策

dlopen

2

ENOENT

DABrokerのライブラリ格納ディレクトリの設定が漏れているいる可能性があります。

DABrokerのライブラリ格納ディレクトリの設定を確認してください。

dup

23

ENFILE

オープンできるファイルの最大数に達しました。

不要なファイルをクローズしてください。

24

EMFILE

オープンできるファイルの最大数に達しました。

不要なファイルをクローズしてください。

fcntl

23

ENFILE

オープンできるファイルの最大数に達しました。

不要なファイルをクローズしてください。

24

EMFILE

オープンできるファイルの最大数に達しました。

不要なファイルをクローズしてください。

fork

11

EAGAIN

プロセスの数が多過ぎるか,一時的なメモリ不足が発生しています。

再度実行しても繰り返し発生する場合は,不要なプロセスを停止させてください。

12

ENOMEM

次のどちらかの要因が考えられます。

  • 仮想メモリ不足のため,プロセスを新しく生成できません。

  • プロセスの数が多過ぎるか,又は一部のプロセスが大量のメモリを消費しています。

仮想メモリが足りない場合は,拡張してください。これらを拡張できない場合は,不要なプロセスを停止させてください。

一部のプロセスが大量のメモリを消費している場合は,該当するプロセスをいったん停止できないか検討してください。

malloc

12

ENOMEM

次のどちらかの要因が考えられます。

  • 仮想メモリ不足のため,プロセスを新しく生成できません。

  • プロセスの数が多過ぎるか,又は一部のプロセスが大量のメモリを消費しています。

仮想メモリが足りない場合は,拡張してください。これらを拡張できない場合は,不要なプロセスを停止させてください。

一部のプロセスが大量のメモリを消費している場合は,該当するプロセスをいったん停止できないか検討してください。

mkdir

13

EACCESS

アクセス権限が不正です。

DABroker運用ディレクトリ下の,ディレクトリに対するアクセス権限が正しいか確認してください。

28

ENOSPC

ファイルシステムに十分な領域がありません。

ファイルシステム内の不要なファイルを削除してください。

open

2

ENOENT

ファイル,又はディレクトリが見付かりません。

環境変数が正しく設定されているかどうかを見直してください。

13

EACCES

ファイルに対するアクセス権がありません。

ファイルに対するアクセス権を確認してください。

17

EEXIST

作成しようとしたファイルは既に存在します。

ファイル名を変更して再度実行するか,既存のファイルが不要であれば,削除してから再度実行してください。

23

ENFILE

オープンできるファイルの最大数に達しました。

不要なファイルをクローズしてください。

24

EMFILE

オープンできるファイルの最大数に達しました。

不要なファイルをクローズしてください。

semget

28

ENOSPC

セマフォ識別子を生成しようとしたが,システムの上限値を超えました。

すべてのプログラムの所要量を見積り,設定値を変更した後に,マシンを再起動してください。

semop

22

EINVAL

DABroker稼働中に,DABrokerのインストールディレクトリ下の作業ファイルを削除した可能性があります。

DABrokerを強制終了してください。その後,DABrokerのサービスを再起動してください。

shl_load

8

ENOEXEC

DBMSの設定が誤っている可能性があります。

DBMSの設定を確認してください。

shmat

22

EINVAL

DABroker稼働中に,DABrokerのインストールディレクトリ下の作業ファイルを削除した可能性があります。または,DABrokerの起動が完了していない状態でコマンドを実行したことが考えられます。

DABrokerが起動完了していない場合は,DABrokerの起動が完了してからコマンドを実行してください。DABrokerが異常終了していなければ,強制終了してください。その後,DABrokerのサービスを再起動してください。

shmget

22

EINVAL

DABroker稼働中に,DABrokerのインストールディレクトリ下の作業ファイルを削除した可能性があります。

DABrokerを強制終了してください。その後,DABrokerのサービスを再起動してください。

28

ENOSPC

ディスクの容量が不足しています。

ディスクに,共用メモリサイズ以上の空き容量を確保してください。

write

5

EIO

入出力エラーが発生しました。

OSやハードウェアの情報に従って対策してください。

14

EFAULT

アクセスできない領域に書き込みしようとしました。書き込みしようとしたディスクが切り離された可能性があります。

保守員に連絡してください。

27

EFBIG

ファイルの大きさがシステムの制限値を超えました。

DABroker管理ユーザでのファイルサイズの制限値をDABrokerで使用するファイルより大きくするか,無制限に変更してください。または,使用するファイルサイズを小さくしてください。

28

ENOSPC

ファイルシステムに十分な領域がありません。

ファイルシステム内の不要なファイルを削除するか,領域に余裕のあるファイルシステムに移行してください。

chmod,

closecreat,

dup,

execv,

fork,

gethostbyaddr,

gethostbyname,

lseek,

lockf,

open,

read,

select,

semctl,

semget,

semop,

shmat,

shmctl,

shmdt,

shmget,

signal,

sigsetmask,

stat,

writeなど

22

EINVAL

メモリ不足が考えられます。

システムの仮想メモリの初期サイズと最大サイズを同じ値(固定値)にしてください。