• 締切済み

自動起動のサーバーのtoo many open filesについて

socket通信の簡単なサーバーを作っているのですが、クライアントの数が多くなるとtoo many open filesと出てしまい、困っています。 普通に(sshでログインして)サーバーを起動すると、2000以上のクライアントを受け付けることができるのですが、同じ物をinittabやrc.localから起動すると、1000付近で上記のエラーが出て、それ以上の接続を受け付けなくなってしまいます。 lsofでディスクリプタの数を数えると、1080で止まるようでした。ソケットだけなら1000に届いていないと思います。 色々と設定を変えてみたのですが、自分では原因を追及できませんでした。 ご存じの方、何卒対策を教えていただけないでしょうか。 よろしくお願い致します。 環境は、Fedora Core 5(2.6.15-1.2054_FC5)、ファイルディスクリプタ関連の設定は > ulimit -n 65535 > cat /proc/sys/fs/file-max 65535 > cat /proc/sys/net/core/somaxconn 10240 となっています。

みんなの回答

  • k_izumo
  • ベストアンサー率50% (68/134)
回答No.1

socket通信サーバを作った事がないので あまり助言にならないかも知れませんが 自動(initdなどの)起動プロセスと ログインユーザとで環境変数に違いはありませんか?

_tanabe_
質問者

お礼

御回答ありがとうございます。 psで見てみましたが、どちらもrootで動いていますので、環境変数も同じだと思います。

関連するQ&A