# Longlife gc

**URL:** <https://www.ruby-forum.com/t/longlife-gc/167634>\
**Category:** Development\
**Created:** [May 10, 2009, 5:21pm UTC](https://www.ruby-forum.com/t/longlife-gc/167634 "2009-05-10T17:21:25Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Narihiro\_N](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/9fc29f/32.png) [@Narihiro\_N](https://www.ruby-forum.com/u/Narihiro_N)\
**Post date:** [May 10, 2009, 5:21pm UTC](https://www.ruby-forum.com/t/longlife-gc/167634/1 "2009-05-10T17:21:25Z")

</div>

nariã¨ç”³ã—ã¾ã™ï¼Ž

GWä¸­ã«GCã®æ”¹è‰¯ã‚’è¡Œã„ã¾ã—ãŸã®ã§ï¼Œå ±å‘Šã„ãŸã—ã¾ã™ï¼Ž

= Railsã®ãƒ’ãƒ¼ãƒ—èª¿æŸ»  
2ãƒ¶æœˆã»ã©å‰ã«ï¼Œãµã¨æ°—ã«ãªã£ã¦RailsãŒã©ã‚“ãªé¢¨ã«ãƒ’ãƒ¼ãƒ—ã‚’ä½¿ç”¨ã—ã¦ã„ã‚‹ã‹èª¿æŸ»ã—ã¦ã¿ã¾ã—ãŸï¼Ž  
ä»¥ä¸‹ã®ã‚°ãƒ©ãƒ•ã¯scaffoldã—ãŸRailsã‚¢ãƒ—ãƒªã‚’å‹•ã‹ã—ãŸéš›ã®ã‚‚ã®ã§ã™ï¼Ž  
[![](http://www.narihiro.info/resource/image/gc_count_statistic_from_rails.png) ](http://www.narihiro.info/resource/image/gc_count_statistic_from_rails.png)

èª¿æŸ»å‰ã¯æ¼ ç„¶ã¨ã€Œæ–‡å­—åˆ—ãŒä¸€ç•ªå¤šã„ã‚“ã˜ã‚ƒãªã„ã‹ãªãã€ã¨è€ƒãˆã¦ã„ãŸã®ã§ã™ãŒï¼Œå®Ÿéš›ã«  
ã¯æ§‹æ–‡æœ¨ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆãŒãƒ’ãƒ¼ãƒ—ã®åŠåˆ†ã‚’å ã‚ã¦ã„ã‚‹ã‚ˆã†ã§ã™ï¼Ž  
ãã®æ§‹æ–‡æœ¨ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆã‚’æ›´ã«è©³ã—ãèª¿ã¹ãŸã‚°ãƒ©ãƒ•ãŒä»¥ä¸‹ã§ã™ï¼Ž  
[![](http://www.narihiro.info/resource/image/gc_count_statistic_for_node_from_rails.png) ](http://www.narihiro.info/resource/image/gc_count_statistic_for_node_from_rails.png)

ã“ã®ã‚°ãƒ©ãƒ•ã«ã‚ã‚‹NODE\_METHODã‚„NODE\_CFUNCï¼ŒNODE\_FBODYã¯ãƒ¡ã‚½ãƒƒãƒ‰å®šç¾©ã®éš›ã«  
ä½¿ç”¨ã•ã‚Œï¼ŒNODE\_WHILEã‚„NODE\_BLOCKã¯VMã®å†…éƒ¨ã§ä½¿ç”¨ã•ã‚Œã¦ã„ã‚‹ã‚ˆã†ã§ã™ï¼Ž

= é•·å¯¿å‘½GC  
æ›´ã«èª¿æŸ»ã‚’ã™ã‚‹ã¨ï¼Œã“ã‚Œã‚‰ã®ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆã¯ã¨ã¦ã‚‚é•·ç”Ÿããªäº‹ãŒåˆ†ã‹ã‚Šã¾ã—ãŸï¼Ž  
ãã“ã§ï¼Œã“ã‚Œã‚‰ã‚’é•·å¯¿å‘½é ˜åŸŸã«éš”é›¢ã—ã¦ã—ã¾ãŠã†ï¼Œã¨ã„ã†æ”¹å–„ã‚’ä»Šå›žè¡Œã„ã¾ã—ãŸï¼Ž  
éƒ¨åˆ†çš„ãªä¸–ä»£åˆ¥GCã¨ã„ã†ã‚¤ãƒ¡ãƒ¼ã‚¸ã§ã™ï¼Ž  
ã“ã®ã‚¢ã‚¤ãƒ‡ã‚¢ã¯ï¼Œã¾ã¤ã‚‚ã¨ã•ã‚“ã‹ã‚‰ã‚¢ãƒ‰ãƒã‚¤ã‚¹ã—ã¦ã„ãŸã ã„ãŸã‚‚ã®ã§ã™ï¼Ž

= å®Ÿè£…ãƒ¡ãƒ¢  
major gcã‚’è¡Œã†ã‚¿ã‚¤ãƒŸãƒ³ã‚°ã¯ãƒ’ãƒ¼ãƒ—ãŒæ‹¡å¼µã•ã‚Œã‚‹æ™‚ã¨GC.startã®æ™‚ã«ã—ã¦ã„ã¾ã™ï¼Ž  
ãƒ©ã‚¤ãƒˆãƒãƒªã‚¢ã®æ‰‹æ³•ã«ã¯remembered\_setã‚’ä½¿ã„ã¾ã—ãŸï¼Žã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆãŒãƒ©ã‚¤ãƒˆ  
ãƒãƒªã‚¢ã«ã‚ã‚‹ã“ã¨ã‚’ç¤ºã™ç‚ºã« FL\_RESERVED ãƒ•ãƒ©ã‚°ã‚’ä½¿ç”¨ã—ã¦ã„ã¾ã™ï¼Ž

= ãƒ™ãƒ³ãƒãƒžãƒ¼ã‚¯  
scaffoldã—ãŸã ã‘ã®Railsã‚¢ãƒ—ãƒªã§GCã®ãƒ—ãƒ­ãƒ•ã‚¡ã‚¤ãƒ«ã‚’å–ã‚Šã¾ã—ãŸï¼Ž  
GCå›žæ•°  
æ”¹å–„å‰ : 35  
æ”¹å–„å¾Œ : 31

ç·GCæ™‚é–“(ms)  
æ”¹å–„å‰ : 332.02  
æ”¹å–„å¾Œ : 284.01

å¹³å‡GCæ™‚é–“(ms)  
æ”¹å–„å‰ : 9.48  
æ”¹å–„å¾Œ : 9.16

ã¾ãŸï¼ŒRailsã‚¢ãƒ—ãƒªã®ãƒ’ãƒ¼ãƒ—ã®çŠ¶æ…‹ã‚’ä½œã‚Šå‡ºã™ã‚ˆã†ãªãƒ™ãƒ³ãƒãƒžãƒ¼ã‚¯ã‚³ãƒ¼ãƒ‰ã‚’æ›¸ã„  
ã¦ï¼Œãã®ãƒ—ãƒ­ãƒ•ã‚¡ã‚¤ãƒ«ã‚‚å–ã‚Šã¾ã—ãŸï¼Ž  
GCå›žæ•°  
æ”¹å–„å‰ : 7  
æ”¹å–„å¾Œ : 6

ç·GCæ™‚é–“(ms)  
æ”¹å–„å‰ : 1452.09  
æ”¹å–„å¾Œ : 1208.07

å¹³å‡GCæ™‚é–“(ms)  
æ”¹å–„å‰ : 207.44  
æ”¹å–„å¾Œ : 201.34

ä½¿ç”¨ã—ãŸã‚³ãƒ¼ãƒ‰ã¯æœ¬ãƒ¡ãƒ¼ãƒ«ã«æ·»ä»˜ã—ã¦ãŠã‚Šã¾ã™ï¼Ž

= ãƒ‘ãƒƒãƒ  
ç¾åœ¨ã®æœ€æ–°ã®revisionã¸ã®ãƒ‘ãƒƒãƒã¨ruby1.9.1-p0ã¸ã®ãƒ‘ãƒƒãƒã‚’ä½œæˆã—ã¾ã—ãŸï¼Ž  
æœ¬ãƒ¡ãƒ¼ãƒ«ã«æ·»ä»˜ã—ã¦ãŠã‚Šã¾ã™ï¼Ž

ã‚ˆã‚ã—ããŠé¡˜ã„ã„ãŸã—ã¾ã™ï¼Ž

---

<div class="post-metadata">

**Author:** ![Narihiro\_N](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/9fc29f/32.png) [@Narihiro\_N](https://www.ruby-forum.com/u/Narihiro_N)\
**Post date:** [May 10, 2009, 5:43pm UTC](https://www.ruby-forum.com/t/longlife-gc/167634/2 "2009-05-10T17:43:45Z")

</div>

e$B$^$D$b$He(B e$B$f$-$R$m!we(BEurukoe$B:G=\*F|$G$9e(B

In message “Re: [ruby-dev:38423] longlife gc”  
on Mon, 11 May 2009 00:20:38 +0900, Narihiro N.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

|GWe$BCf$Ke(BGCe$B$N2~NI$r9T$$$^$7$?$N$G!$Js9p$$$?$7$^$9!%e(B

e$B;d$,@z$C$?$3$H$b$“$j$^$9$,!“0-$/$J$k%1!\<%9$,$J$$e(B or e$B\>/$J$$$Ne(B  
e$B$G$”$l$P\<h$j9~$_$?$$$H;W$$$^$9!#$$$m$$$m$J%1!\<%9$G;n$7$F$$$?e(B  
e$B$@$1$k%%i%s%F%#%"$rJg=8$7$^$9!#;d$b$$$/$D$+e(Bbenchmarke$B$N2\<$re(B  
e$B;n$7$F$_$h$&$H;W$$$^$9$,!”$$$D;~4V$,\<h$l$k$+J,$+$i$J$$$N$G!#e(B

---

<div class="post-metadata">

**Author:** ![Narihiro\_N](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/9fc29f/32.png) [@Narihiro\_N](https://www.ruby-forum.com/u/Narihiro_N)\
**Post date:** [May 10, 2009, 8:54pm UTC](https://www.ruby-forum.com/t/longlife-gc/167634/3 "2009-05-10T20:54:17Z")

</div>

e$B!!$5$5$@$G$9!%e(B

Narihiro N. wrote::

> e$B$3$N%0%i%U$K$"$ke(BNODE\_METHODe$B$de(BNODE\_CFUNCe$B!$e(BNODE\_FBODYe$B$O%a%=%C%IDj5A$N:]$Ke(B  
> e$B;HMQ$5$l!$e(BNODE\_WHILEe$B$de(BNODE\_BLOCKe$B$Oe(BVMe$B$NFbIt$G;HMQ$5$l$F$$$k$h$&$G$9!%e(B

e$B!!$\*Hh$lMM$G$9!%$9$P$i$7$$%G!\<%?$@$H;W$$$^$9!%e(B

> = e$BD9\<wL?e(BGC  
> e$B99$KD4::$r$9$k$H!$$3$l$i$N%_%V%8%’%/%H$O$H$F$bD9@8$-$J;v$,J,$+$j$^$7$?!%e(B  
> e$B$=$3$G!$$3$l$i$rD9\<wL?NN0h$K3VN%$7$F$7$^$_$&!$$H$$$&2~A1$r:#2s9T$$$^$7$?!%e(B  
> e$BItJ,E\*$J@$BeJLe(BGCe$B$H$$$&%$%a!\<%8$G$9!%e(B  
> e$B$3$N%"%$%G%"$O!$$^$D$b$H$5$s$+$i%"%I%P%$%9$7$F$$$?$@$$$?$b$N$G$9!%e(B

e$B!!A0$b8@$$$^$7$?$,!$$3$NJU$N%$%s%i%$%s%-%c%C%7%e$d$i$N%N!\<%I$H$+$=$NJUe(B  
e$B$O!$e(BGC e$BBP\>]30NN0h$K$7$F$7$^$\*$&$H;W$C$F$$$^$9!%e(B

e$B!!$?$@!$$=$l$OB?J,e(B 1.9.2  
e$B0J9\_$K$J$k$s$@$m$&$J$!!$$H$$$&$3$H$G!$LdBj$,L5e(B  
e$B$$$N$J$i!$:#2s$N%Q%C%A!J\<B$OItJ,E\*@$BeJLe(BGCe$B$,2?$+$o$+$C$F$$$J$$!K$OM-MQ$+e(B  
e$B$H;W$$$^$9!%e(B

---

<div class="post-metadata">

**Author:** ![Narihiro\_N](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/9fc29f/32.png) [@Narihiro\_N](https://www.ruby-forum.com/u/Narihiro_N)\
**Post date:** [May 11, 2009, 3:11pm UTC](https://www.ruby-forum.com/t/longlife-gc/167634/4 "2009-05-11T15:11:34Z")

</div>

narie$B$G$9!%e(B

2009/05/11 3:52 SASADA Koichi [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> e$B!!$5$5$@$G$9!%e(B

(snip)

> e$B!!A0$b8@$$$^$7$?$,!$$3$NJU$N%$%s%i%$%s%-%c%C%7%e$d$i$N%N!\<%I$H$+$=$NJUe(B  
> e$B$O!$e(BGC e$BBP\>]30NN0h$K$7$F$7$^$\*$&$H;W$C$F$$$^$9!%e(B

e$B$=$&$G$7$?$+!%e(B  
e$B$=$A$i$NJ}$,@-G=$,NI$5$=$&$G$9$M!%e(B

> e$B$?$@!$$=$l$OB?J,e(B 1.9.2 e$B0J9\_$K$J$k$s$@$m$&$J$!!$$H$$$&$3$H$G!$LdBj$,L5e(B  
> e$B$$$N$J$i!$:#2s$N%Q%C%A!J\<B$OItJ,E\*@$BeJLe(BGCe$B$,2?$+$o$+$C$F$$$J$$!K$OM-MQ$+e(B  
> e$B$H;W$$$^$9!%e(B

e$BItJ,E\*@$BeJLe(BGCe$B$H$$$&8@MU$O3d$H\<+J,$G:n$C$F$7$^$C$?46$8$G$9!%e(B  
e$BFCDj$N%\*%V%8%'%/%H$KBP$7$F$N$\_@$BeJLe(BGCe$B$C$]$$F0$-$r$9$k$N$G!$$3$&$$$&8@$$J}$re(B  
e$B$7$?$N$G$9$,!$5U$K$o$+$j$E$i$+$C$?$+$b$7$l$^$;$s!%e(B

---

<div class="post-metadata">

**Author:** ![Narihiro\_N](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/9fc29f/32.png) [@Narihiro\_N](https://www.ruby-forum.com/u/Narihiro_N)\
**Post date:** [May 11, 2009, 3:05pm UTC](https://www.ruby-forum.com/t/longlife-gc/167634/5 "2009-05-11T15:05:40Z")

</div>

narie$B$G$9!%e(B

2009/05/11 0:39 Yukihiro M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> e$B;n$7$F$\_$h$&$H;W$$$^$9$,!"$$$D;~4V$,\<h$l$k$+J,$+$i$J$$$N$G!#e(B

e$B$=$&$G$9$M!%e(B  
e$B$3$s$J%1!\<%9$GCY$/$J$C$?!$$b$7$/$OAa$/$J$C$?!$$J$I$J$IJs9p$7$FD:$1$k$He(B  
e$B4r$7$$8B$j$G$9!%;d$NJ}$b2K$r8+$D$1$F:n6H$7$?$$$H;W$$$^$9!%e(B

e$B$h$m$7$/$\*4j$$$$$?$7$^$9!%e(B

---

<div class="post-metadata">

**Author:** ![Narihiro\_N](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/9fc29f/32.png) [@Narihiro\_N](https://www.ruby-forum.com/u/Narihiro_N)\
**Post date:** [May 13, 2009, 8:22am UTC](https://www.ruby-forum.com/t/longlife-gc/167634/6 "2009-05-13T08:22:23Z")

</div>

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:38424] Re: longlife gc”  
on Mon, 11 May 2009 00:39:12 +0900, Yukihiro M.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

|In message “Re: [ruby-dev:38423] longlife gc”  
| on Mon, 11 May 2009 00:20:38 +0900, Narihiro N. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:  
|  
||GWe$BCf$Ke(BGCe$B$N2~NI$r9T$$$^$7$?$N$G!$Js9p$$$?$7$^$9!%e(B  
|  
|e$B;d$,@z$C$?$3$H$b$“$j$^$9$,!“0-$/$J$k%1!\<%9$,$J$$e(B or e$B\>/$J$$$Ne(B  
|e$B$G$”$l$P\<h$j9~$_$?$$$H;W$$$^$9!#$$$m$$$m$J%1!\<%9$G;n$7$F$$$?e(B  
|e$B$@$1$k%%i%s%F%#%"$rJg=8$7$^$9!#;d$b$$$/$D$+e(Bbenchmarke$B$N2\<$re(B  
|e$B;n$7$F$_$h$&$H;W$$$^$9$,!”$$$D;~4V$,\<h$l$k$+J,$+$i$J$$$N$G!#e(B

benchmarke$B0J2\<$N%9%/%j%W%H$G;n$7$F$\_$^$7$?!#$H$j$“$($:7kO@$H$7e(B  
e$B$F$O!V$”$^$jCY$/$J$C$F$J$$!W$H$$$&$b$N$G$9!#$^$“!”$;$$$\<$$e(B  
0.2e$BIC$H$+$=$l$/$i$$!#5U$Ke(BAOe$B%Y%s%A$J$I$G$O$:$$$V$sAa$/$J$C$?%1!\<e(B  
e$B%9$b$“$k$h$&$J$N$G!”\<h$j9~$s$G$b$h$$$N$G$O$J$$$G$7$g$&$+!#e(B

---

<div class="post-metadata">

**Author:** ![Narihiro\_N](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/9fc29f/32.png) [@Narihiro\_N](https://www.ruby-forum.com/u/Narihiro_N)\
**Post date:** [May 13, 2009, 4:08pm UTC](https://www.ruby-forum.com/t/longlife-gc/167634/7 "2009-05-13T16:08:41Z")

</div>

narie$B$G$9!%e(B

2009/05/13 15:21 Yukihiro M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> |e$B;d$,@z$C$?$3$H$b$“$j$^$9$,!“0-$/$J$k%1!\<%9$,$J$$e(B or e$B\>/$J$$$Ne(B  
> |e$B$G$”$l$P\<h$j9~$_$?$$$H;W$$$^$9!#$$$m$$$m$J%1!\<%9$G;n$7$F$$$?e(B  
> |e$B$@$1$k%%i%s%F%#%"$rJg=8$7$^$9!#;d$b$$$/$D$+e(Bbenchmarke$B$N2\<$re(B  
> |e$B;n$7$F$_$h$&$H;W$$$^$9$,!”$$$D;~4V$,\<h$l$k$+J,$+$i$J$$$N$G!#e(B
> 
> benchmarke$B0J2\<$N%9%/%j%W%H$G;n$7$F$\_$^$7$?!#$H$j$“$($:7kO@$H$7e(B  
> e$B$F$O!V$”$^$jCY$/$J$C$F$J$$!W$H$$$&$b$N$G$9!#$^$“!”$;$$$\<$$e(B  
> 0.2e$BIC$H$+$=$l$/$i$$!#5U$Ke(BAOe$B%Y%s%A$J$I$G$O$:$$$V$sAa$/$J$C$?%1!\<e(B  
> e$B%9$b$“$k$h$&$J$N$G!”\<h$j9~$s$G$b$h$$$N$G$O$J$$$G$7$g$&$+!#e(B

e$B$"$j$,$H$&$4$6$$$^$9!%e(B  
e$B%3%\_%C%H$7$F$\*$-$^$9!%e(B

---

<div class="post-metadata">

**Author:** ![Narihiro\_N](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/9fc29f/32.png) [@Narihiro\_N](https://www.ruby-forum.com/u/Narihiro_N)\
**Post date:** [May 13, 2009, 11:06pm UTC](https://www.ruby-forum.com/t/longlife-gc/167634/8 "2009-05-13T23:06:06Z")

</div>

In article  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid),  
Narihiro N. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

> e$B%3%\_%C%H$7$F$\*$-$^$9!%e(B

test-all e$B$G0[\>o=\*N;$9$k$h$&$G$9$M!#e(B

Segmentation fault:  
[http://www.rubyist.net/~akr/chkbuild/debian/ruby-trunk/log/20090514T030700.log.txt.gz](http://www.rubyist.net/~akr/chkbuild/debian/ruby-trunk/log/20090514T030700.log.txt.gz)

Bus Error:  
[http://chkbuild.n-z.jp/ruby/ppc-mac-mini/ruby-trunk/log/20090514T034826.log.txt.gz](http://chkbuild.n-z.jp/ruby/ppc-mac-mini/ruby-trunk/log/20090514T034826.log.txt.gz)

---

<div class="post-metadata">

**Author:** ![Narihiro\_N](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/9fc29f/32.png) [@Narihiro\_N](https://www.ruby-forum.com/u/Narihiro_N)\
**Post date:** [May 14, 2009, 3:57am UTC](https://www.ruby-forum.com/t/longlife-gc/167634/9 "2009-05-14T03:57:29Z")

</div>

narie$B$G$9!%e(B

2009/05/14 6:05 Tanaka A. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> Bus Error:  
> [http://chkbuild.n-z.jp/ruby/ppc-mac-mini/ruby-trunk/log/20090514T034826.log.txt.gz](http://chkbuild.n-z.jp/ruby/ppc-mac-mini/ruby-trunk/log/20090514T034826.log.txt.gz)

e$B$&$%!$$9$\_$^$;$s!%e(B  
e$BD4::$7$^$9!%e(B
