PostgreSQL

FreeBSD 7.0-RELEASE上でPostgreSQL 8.3.1を動かす

PostgreSQLを起動するとエラーになる。セマフォ領域が足りないみたい。 足りないのは分かるが、どうやって、いくら増やしたらいいのか分からなかった。

Apr  2 20:48:13 spare postgres[11586]: [1-1] FATAL:  could not create semaphores: No space left on device
Apr  2 20:48:13 spare postgres[11586]: [1-2] DETAIL:  Failed system call was semget(5432004, 17, 03600).
Apr  2 20:48:13 spare postgres[11586]: [1-3] HINT:  This error does *not* mean that you have run out of disk space.
Apr  2 20:48:13 spare postgres[11586]: [1-4]    It occurs when either the system limit for the maximum number of semaphore sets (SEMMNI), or the system wide maximum number of
Apr  2 20:48:13 spare postgres[11586]: [1-5]  semaphores (SEMMNS), would be exceeded.  You need to raise
the respective kernel parameter.  Alternatively, reduce PostgreSQL's
Apr  2 20:48:13 spare postgres[11586]: [1-6]  consumption of semaphores by reducing its max_connections
parameter (currently 103).
Apr  2 20:48:13 spare postgres[11586]: [1-7]    The PostgreSQL documentation contains more information a
bout configuring your system for PostgreSQL.

調べ方

spare:root # sysctl kern.ipc (結果はセマフォ関係のみ抜粋)
kern.ipc.semaem: 16384
kern.ipc.semvmx: 32767
kern.ipc.semusz: 92
kern.ipc.semume: 10
kern.ipc.semopm: 100
kern.ipc.semmsl: 60
kern.ipc.semmnu: 30
kern.ipc.semmns: 60
kern.ipc.semmni: 10
kern.ipc.semmap: 30

たしかに小さい気がする。

/boot/loader.confに下記を記載。

kern.ipc.semmni=256
kern.ipc.semmns=512
kern.ipc.semmnu=256

んで、再起動してみた。

spare:root # sysctl kern.ipc
kern.ipc.semaem: 16384
kern.ipc.semvmx: 32767
kern.ipc.semusz: 92
kern.ipc.semume: 10
kern.ipc.semopm: 100
kern.ipc.semmsl: 60
kern.ipc.semmnu: 256
kern.ipc.semmns: 512
kern.ipc.semmni: 256
kern.ipc.semmap: 30

変わってるようだ。

postmasterも動いてら。

FreeBSD 7.0Rになってから初期値が変わったのかな。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS