>>520
> >スレッド内で動的に多量のメモリを確保すると、プロセスサイズが大きくなり、戻らない

ここの、

> とあるのですが、これは「スレッド内部でメモリを確保しまくると
> SZの値は減らない」と解釈していいのでしょうか?

「スレッド内で」はあってもなくても同じ。(古典的UNIXとC(++)では)
単純ヒープモデルのメモリ管理は一度でかくなったら元に戻らない。
brk(2)を小さくするために呼び出すことはない。
// 「スレッド内で」と書いてあるのは、プロセスからの類推で、
// スレッドが終了したら、利用していたメモリも
// 解放されると誤解する人がいるからでしょう。

理由は、malloc(3)したメモリオブジェクトの位置を変えられないので、
羽抜け状態になるからです。emacsでは可変長オブジェクト用ヒープの
コンパクションをして、巨大化を防いでいます。
(それでもいったん大きくなるとそのまま)

話せば非常に長くなるので、
http://www.saiensu.co.jp/books-htm/ISBN4-7819-0303-7.htm
の「動的な記憶割り付け」を。さらに進むには、
http://www.google.com/search?q=garbage%20collection%20site%3Aamazon.co.jp&sourceid=mozilla-search&start=0&start=0&ie=utf-8&oe=utf-8
でも読んでください。英語読めるなら、これも。
http://www.amazon.co.jp/exec/obidos/ASIN/0471941484/qid=1033055505/br=1-1/ref=br_lf_fb_1/249-2956017-1293960
"w3m"のweb pageとドキュメントも参考になるかも。

ちなみにthread関係ないから、
この話題続けるならUNIXプログラミングスレに。