system management
1753946 メンバー
8115 オンライン
108811 解決策
新規ポスト

セマフォの最大数

 
keijirou
頻繁なアドバイザー

セマフォの最大数

いつもお世話になっております。

早速ですが質問させてください。

<環境>

マシン:C8000 Workstation

OS:HP-UX 11i V1.0

システム全体で使用するセマフォの数を多くしたいため、samでカーネルパラメータのsemmnsを変更しようと思ったのですが、32767以上に変更できませんでした。

そこで、/etc/conf/master.d配下にあるセマフォの設定ファイルを編集し、最大値を32767以上にしたところ、semmnsは変更できたのですが、いざテストプログラムでセマフォを確保してみると、32767のときと確保できる数に変化がありませんでした。

これ以上増やすことはできないのでしょうか?

回答よろしくお願いします。
3件の返信3
keijirou
頻繁なアドバイザー

セマフォの最大数

追記します。

★kmtuneコマンドでのセマフォの状態は以下のとおりです。

sema 1 - 1

semaem 16384 - 16384

semmap 16894 - (SEMMNI+2)

semmni 16892 - 16892

semmns 32767 - 32767

semmnu 1020 - 1020

semmsl 2048 Y 2048

semume 12743 - 12743

semvmx 32767 - 32767

★搭載メモリは1GBです

★ワークディレクトリにファイルを30000個touchして、

ftok(ファイル名, 'A')

semget(ipckey, 4, (IPC_CREAT|0600))

を繰り返しています。

★ftokでエラー(errno=ENOSPC)になっています。

★8187個までしか確保できません(別プロセスで19個確保済みなので、8187 × 4 + 19 = 32767)
cf
レギュラーアドバイザー

セマフォの最大数

残念ながら、32767が 11iv1の上限のようです。

http://docs.hp.com/en/TKP-90202/re80.html

   

   

11iv2では、335534080 ととても大きい値が取れるようです。

http://docs.hp.com/ja/B2355-90858/semmns.5.html

 
keijirou
頻繁なアドバイザー

セマフォの最大数

cf様、回答ありがとうございます。

やはり無理ですかぁ。。。

アプリケーションで対処する方法を模索してみます。