Gauche > Archives > 2014/04/02

2014/04/02 13:09:10 UTCmhayashi1120
#
https://gist.github.com/mhayashi1120/9932930

間が空いてしまいましたが、この頃の話題についてです。 http://chaton.practical-scheme.net/gauche/a/2014/03/18
gist にあるスクリプト (exam-gosh2) をいくつか動かすとメモリの使用量が何かのタイミングでぐんぐん増えていくのです。(result.txt)
よくわからないのですが sys-pipe の使い方なにか間違ってるでしょうか。

実験した gosh は 2014-03-19 08:01 にコンパイルした当時の trunk です。
2014/04/02 13:32:56 UTCmhayashi1120
#
それから機能を絞ってひたすら sample-stream を動かしたスクリプトは一週間ぐらい何事もなく動き続けていたので、先の Chaton への pull-req はきっと無害です。
2014/04/02 14:50:06 UTCshiro
#
>mhayashi1120 ありがとうございます。gistのそれはSchemeレベルで特に怪しいところは見当たらないので、Gaucheの実装の方でリークしてる可能性がありますね。
2014/04/02 21:41:30 UTC_enami@twitter
#
fd 16 の相手がいないのがおかしいのかな?あと、24.9, 35.9 て systime ですかね
2014/04/02 21:51:09 UTCmhayashi1120
#
> USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

省略した ps の出力ヘッダはこんな感じです。
2014/04/02 21:52:08 UTCshiro
#
fd 16が気になりますよね。forkで継承してるわけでもないだろうし、どっから来たんだろ。
2014/04/02 21:55:31 UTC_enami@twitter
#
%mem でしたか。strace してたらなにかわかるかも。
#
あ、してたら、じゃなくて、したら。途中からでも出来ます。
2014/04/02 21:59:16 UTCmhayashi1120
#
なるほど。時間かかるかもですが try してみます。
2014/04/02 21:59:32 UTC_enami@twitter
#
3.4 のほうとどちらが問題になっているものか、確認したいですね。
2014/04/02 22:04:37 UTCmhayashi1120
#
んーと、3.4 と言うと何のことでしょう。pipe の fd?
2014/04/02 22:07:34 UTC_enami@twitter
#
そうです。
2014/04/02 22:08:13 UTCmhayashi1120
#
わかりました。
2014/04/02 22:09:35 UTC_enami@twitter
#
node の値で 3,4 はペアだけど、16 は相手がいないのがわかります。
2014/04/02 22:16:18 UTCmhayashi1120
#
読み方がだんだんわかってきました。何回も lsof を取得してるのですけど、コピペミスで切れちゃってるわけじゃなさそうです。とにかく試してみます。