気まぐれSE日記

地方でエンジニアしてます

特定の64bit版LinuxでPostgreSQLのshared_buffersやmax_connectionsを上げられない


TurboLinux10 Server x64版で 題名の通りの症状が出ます。
このせいで、接続数を100以上に増やそうとすると、PostgreSQLが起動しなくなってしまいます。この現象はPostgreSQLは7系(7.2〜7.4)で出ます。


解決方法は、

  1. PostgreSQL 8.xにバージョンアップする
  2. echo "250 32000 32 2048" > /proc/sys/kernel/semセマフォを増やす


とよいとこのとです。
先週末これにはまってしまったので、今日回避できるか検証してみます。


↓参考 (リンク先ではRedHat64bit版で症状出るようですが)
http://ml.postgresql.jp/pipermail/pgsql-jp/2005-September/019562.html



追記:
無事にshared_memory=16000まで設定することできました。
また、同時接続数もとりあえず、256程度まで増やせましたので解決しました。
同時接続数がシビアな大規模なシステムではファイルデスクリプタとかもチューニングしないといけないようです。