MONO_THREADS_PER_CPU

MONO_THREADS_PER_CPU

- Iseki Fumikazu の投稿
返信数: 2

最近SIMが不安定でご迷惑をおかけしています.m(__)m

実は mono を起動する時に MONO_THREADS_PER_CPU という環境変数があるのですが,Webを見ていて 「2048くらいが良い」と言うような記述があったので 2048にしたところ,落ちる頻度が上がったような気がします.

随時,元の設定に戻します.

よろしくお願いします.

Iseki Fumikazu への返信

Re: MONO_THREADS_PER_CPU

- Xpyoda Janus の投稿

2048はかなり多いような...。

http://opensimulator.org/wiki/Configuration#Note_About_Mono

私は、Atom D510 のCPU(HyperThreadで4コア)ですが、上記URLにあった

export MONO_THREADS_PER_CPU=125

にしてます。

スレッドふやしたりすると、(SysV系の)セマフォというかミューテックスなんかのカーネル資源も増やさないといけないんじゃないかという気がします。
FreeBSDでmonoをインストールするとき、次のようなメッセージが表示されます。

* Remove leftover semaphores / increase semaphore limits.
  - Close apps which use Mono and run `ipcs -sbt`.  Remove the
    semaphores with MODE "--rw-------" and NSEMS "8" using ipcrm (1)
  - _OR_ simply reboot which is the safest method.
  - On multi-user systems the semaphore limits may need to be increased
    from the defaults. The following should comfortably support 30 users.

    # echo "kern.ipc.semmni=40" >> /boot/loader.conf
    # echo "kern.ipc.semmns=300" >> /boot/loader.conf

私は多めに設定してます。

あと、FreeBSDに限って言えば、デフォルトのスタックサイズが64MBと小さかったので、
大きめに確保できるように変更してます。

http://xpyoda.blogspot.jp/2012/09/ode_16.html