[#47033] [ruby-trunk - Bug #8749][Open] Readline.readline stops STDOUT? — "no6v (Nobuhiro IMAI)" <nov@...>
9 messages
2013/08/07
[#47036] Re: [ruby-trunk - Bug #8749][Open] Readline.readline stops STDOUT?
— Tanaka Akira <akr@...>
2013/08/07
2013/8/7 no6v (Nobuhiro IMAI) <nov@yo.rim.or.jp>:
[#47564] [ruby-trunk - Bug #8719][Open] r42096 make bm_app_factorial.rb slow — "authorNari (Narihiro Nakamura)" <authorNari@...>
4 messages
2013/08/02
[#47565] [ruby-trunk - Bug #8719] r42096 make bm_app_factorial.rb slow
— "authorNari (Narihiro Nakamura)" <authorNari@...>
2013/08/02
[#47569] [ruby-trunk - Feature #8726][Open] Class#source_location — "takiuchi (Genki Takiuchi)" <genki@...21g.com>
14 messages
2013/08/03
[#47574] Re: [ruby-trunk - Feature #8726][Open] Class#source_location
— KOSAKI Motohiro <kosaki.motohiro@...>
2013/08/03
> Classオブジェクトが生成された場所を返す Class#source_location メソッドの実装を希望いたします。
[#47575] Re: [ruby-trunk - Feature #8726][Open] Class#source_location
— KOSAKI Motohiro <kosaki.motohiro@...>
2013/08/03
> なるせさん、わたし、あのバックトレースの整形処理がイマイチ理解できんのだが、
[#47609] Re: [ruby-cvs:49669] naruse:r42527 (trunk): refix r42525 set stdio_file only if stdio — Tanaka Akira <akr@...>
2013/8/12 <naruse@ruby-lang.org>:
7 messages
2013/08/12
[#47610] Re: [ruby-cvs:49669] naruse:r42527 (trunk): refix r42525 set stdio_file only if stdio
— "NARUSE, Yui" <naruse@...>
2013/08/12
あぁ、[ruby-dev:47608]見てませんでした。
[#47611] Re: [ruby-cvs:49669] naruse:r42527 (trunk): refix r42525 set stdio_file only if stdio
— Tanaka Akira <akr@...>
2013/08/12
2013年8月12日 11:38 NARUSE, Yui <naruse@airemix.jp>:
[#47614] Re: [ruby-cvs:49669] naruse:r42527 (trunk): refix r42525 set stdio_file only if stdio
— "NARUSE, Yui" <naruse@...>
2013/08/12
editline の問題は、editlineにはrl_getcがなく、かつreadline.cで、
[#47620] Ruby 2.1 開発者会議 2013-08-31 のお知らせ — "NARUSE, Yui" <naruse@...>
かなり暑いですが、こんにちは。
5 messages
2013/08/14
[#47649] Re: [ruby-changes:30564] akr:r42643 (trunk): * process.c (rb_proc_times): Use RB_GC_GUARD to guard objects from GC. — SASADA Koichi <ko1@...>
akr さん
4 messages
2013/08/21
[#47650] Re: [ruby-changes:30564] akr:r42643 (trunk): * process.c (rb_proc_times): Use RB_GC_GUARD to guard objects from GC.
— Tanaka Akira <akr@...>
2013/08/21
2013/8/21 SASADA Koichi <ko1@atdot.net>:
[#47663] Re: [ruby-core:56878] [ruby-trunk - misc #8835][Open] Introducing a semantic versioning scheme and branching policy — "Akinori MUSHA" <knu@...>
At Fri, 30 Aug 2013 21:49:34 +0900,
6 messages
2013/08/30
[#47664] Re: [ruby-core:56878] [ruby-trunk - misc #8835][Open] Introducing a semantic versioning scheme and branching policy
— KOSAKI Motohiro <kosaki.motohiro@...>
2013/08/30
MjAxMy84LzMwIEFraW5vcmkgTVVTSEEgPGtudUBpZGFlbW9ucy5vcmc+Og0KPiBBdCBGcmksIDMw
[ruby-dev:47643] Re: [ruby-trunk - Bug #8711] 最近NoMemoryErrorが多い
From:
KOSAKI Motohiro <kosaki.motohiro@...>
Date:
2013-08-19 15:33:14 UTC
List:
ruby-dev #47643
2013/8/19 SASADA Koichi <ko1@atdot.net>: > (2013/08/19 15:42), KOSAKI Motohiro wrote: >>> > 考えられる解決策: >>> > - TestFiber#test_many_fibers を削除 >>> > - TestFiber#test_many_fibers を別プロセスで実行 >>> > - TestFiber#test_many_fibers 後にちゃんと物理メモリを解放するように頑張る >> システム全体で制限がかかっているので別プロセスで実行は本質的では >> ないように思います。 >> ちゃんと開放するようにテスト(と、GC)を変えて、そもそもシステムの >> メモリが小さすぎるときはテストをスキップするようにしないと、 >> 不思議な箇所でエラーを吐くと思います。 > > プロセスが肥大化し、元に戻らないのが原因のようなので、とりあえず応急処置 > にはなるかと。 > > で、fork() が失敗する条件は、一度に mmap できないような連続したメモリ領 > 域がある場合なのですが、何かと調べたり考えたりしたところ、(まだ確証はな > いのですが)VM のスタックであることに思い至りました。 > > 現状、VM stack は Fiber 生成時、および Fiber 解放時に割り当て、解放を > ALLOC_N()、つまり malloc() 経由で行っています。これにはいくつか問題があ > ります。 > > (1) Fiber の初回起動前、および Fiber の終了後には VM stack は不要 > (2) malloc で割り当てているため、free しても OS に返すかどうかは不明 > > (1) は、単純に改良をすればいいだけです。ただし、変更はちょっと面倒そうです。 > > (2) は、例えば mmap にすれば解決しますが、システムコールのオーバヘッドを > どう考えるか、ということになるかと思います。理想的には、Fiber が burst > 的に発生する、という前提では、初期値は小さく、オーバーフローしそうになっ > たら増やしていくような感じにしたいと思って居ます(これはスレッドも同 > じ)。が、これは凄く面倒な話。 > > とりあえず、当該テストで GC.start をする、という腰砕けな対応になっています。 えーと、ENOMEMが出るからにはGB単位のメモリが未開放でないといけないのですが、 なんでfreeしてもOSに戻ってないんでしょう。 実害があるのが分かっているのだから、手を入れたほうがよいのではないかと