srvadmin,OMSA,dataeng を起動し、omreportコマンド実行すると、syslogに以下メッセージが出力され、omreportの出力がエラーとなる。
syslog↓
aaa Server Administrator (Shared Library): Data Engine EventID: 0 A semaph ore set has to be created but the system limit for the maximum number of semaphore sets has been exceeded
文字通りセマフォ数の上限値に達してる。
調べるとapacheのセマフォ解放ができていないようで、ググると対処方がたくさんできた。
総じて、解放できないapacheのセマフォを消すという対処方。
●ipcs -sで現状のセマフォ確認。grep apache でapacheのセマフォ確認。
# ipcs -s
—— セマフォ配列 ——–
キー semid 所有者 権限 nsems
0×00000000 0 root 600 1
0×00000000 32769 root 600 1
0×00000000 3145730 apache 600 1
0×00000000 3178499 apache 600 1
●sysctl kernel.sem でセマフォ上限確認。以下デフォ。
kernel.sem = 250 32000 32 128
●apacheを停止し、apacheのセマフォ消す。
for i in `ipcs -s |grep apache | awk '{print $2}'`; do ipcrm -s $i; done
●原因
apacheが正常でない終了。突然落ちるとかした場合にセマフォ解放できないことがあるらしい。