Project MMO: 2007年1月アーカイブ

ソケットの数のOS上限

| | コメント(0)

 オンラインゲームを作るに当たり全く考えてなかった問題があった。OSレベルでのファイルオープン数制限である。ソケットもOSレベルではファイルポインタとして扱われている為この制限にかかる。

C言語のプログラミングレベルであればFD_SETSIZEの定義を変えれば良いがそれだけではOSの制限は超えられない。調査方法は下記のコマンドを実行する。

Linuxの場合
# ulimit -a

この結果Linux系はデフォルトが1プロセス当たり1024個までのようだ。
これは少なすぎなのでRedHat系であれば/etc/security/limits.confに上限値を
入れてリログすると適用されるっぽい。

FreeBSDの場合
# limit
cputime unlimited
filesize unlimited
datasize 524288 kbytes
stacksize 65536 kbytes
coredumpsize unlimited
memoryuse unlimited
vmemoryuse unlimited
descriptors 7264
memorylocked unlimited
maxproc 3632
sbsize unlimited

FreeBSDは7264が上限になってた、これだけあれば大丈夫かな。

そしてFreeBSDの場合は

このアーカイブについて

このページには、2007年1月以降に書かれたブログ記事のうちProject MMOカテゴリに属しているものが含まれています。

前のアーカイブはProject MMO: 2006年12月です。

次のアーカイブはProject MMO: 2007年2月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

Powered by Movable Type 4.1