2010年6月28日月曜日

create_pthreadでENOMEMがでる件

Linux環境でgccでマルチスレッドのアプリケーションを作ろうとしているあなたは要注意です。
create_pthreadでスレッドを生成すると、ulimit -sで定義されているスタックサイズを割り当てることになっている。
この表示の単位はKBである。
代替のLinuxでは8192KBとなっており、100個スレッドを作ると、800Mbメモリが必要となる。
よって、サーバで保持しているメモリサイズと、作成しようとしているスレッドの数をよく検討して、ulimit -sの値を設定することが肝要である。

0 件のコメント:

コメントを投稿