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 メモリ不足が考えられます。 システムの仮想メモリの初期サイズと最大サイズを同じ値(固定値)にしてください。