ä»æ¥ã¯ãOracle Java HotSpot VMã«å梱ãããŠããã¬ããŒãžã³ã¬ã¯ã¿ãŒã«é¢ããäžé£ã®èšäºãç¶ããŸãã ãã§ã«å°ãçè«ãç 究ããã·ãªã¢ã«GCãšãã©ã¬ã«GCã®2ã€ã®åºæ¬çãªã³ã¬ã¯ã¿ãŒãã©ã®ããã«å¯ŸåŠãããã調ã¹ãŸããã ãã®èšäºã§ã¯ãCMS GCã³ã¬ã¯ã¿ãŒãšG1 GCã³ã¬ã¯ã¿ãŒã«ã€ããŠèª¬æããŸããCMSGCããã³G1 GCã³ã¬ã¯ã¿ãŒã®äž»ãªã¿ã¹ã¯ã¯ãäžèŠæš¡ããã³å€§éã®ããŒã¿ã§åäœããã¢ããªã±ãŒã·ã§ã³ã®ã¡ã¢ãªãã€ãŸããµãŒããŒã¢ããªã±ãŒã·ã§ã³ã®ã¡ã¢ãªã®ã»ãšãã©ã®éšåã§é åºã埩å ããéã®äžæåæ¢ãæå°éã«æããããšã§ãã
ãããã®2ã€ã®ã³ã¬ã¯ã¿ãŒã¯ãäžè¬çãªååãã»ãšãã©ã®åæã³ã¬ã¯ã¿ãŒã ãã€ãŸããã»ãšãã©ã®å Žå ã 競åã³ã¬ã¯ã¿ãŒ ãã® äžã§çµåãããŸãã ããã¯ãã¢ããªã±ãŒã·ã§ã³ã®ã¡ã€ã³ã¹ã¬ãããšäžŠè¡ããŠäœæ¥ã®äžéšãå®è¡ãããã€ãŸããããæç¹ã§ããã»ããµãªãœãŒã¹ãæ±ããŠç«¶åãããšããäºå®ã«ãããã®ã§ãã ãã¡ãããããã¯ãã¬ãŒã¹ãªãã§ã¯éçšããªããããçµæãšããŠãäžæåæ¢ã®èŠ³ç¹ããã®æ¹åãšã¹ã«ãŒãããã®èŠ³ç¹ããã®äœäžã亀æããŸãã 圌ãã¯ããŸããŸãªæ¹æ³ã§ãããè¡ããŸããã æ¹æ³ãèŠãŠã¿ãŸãããã
CMS GC
CMSã³ã¬ã¯ã¿ãŒïŒåæããŒã¯ã¹ã€ãŒãã®ç¥ïŒã¯ã䞊åGCãšåæã«HotSpot VMã«ç»å Žããè€æ°ã®ããã»ããµã³ã¢ã«ã¢ã¯ã»ã¹ãã STWã®äžæåæ¢ã«ææãªã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšããããã®ä»£æ¿ãšããŠäœ¿çšãããŸããã åœæãå¥ã®éžæè¢ããããŸãã-ã€ã³ã¯ãªã¡ã³ã¿ã«GCã§ãããæ確ãªå©ç¹ããªããããèªç¶éžæã¯è¡ãããŸããã§ããã ãããŠãCMSã¯çãæ®ããŸããã ãããŠããã®äººæ°ã®ããŒã¯ã¯ãã§ã«éããŠããããã«èŠããŸããããã®å éšæ§é ãèŠãã®ã¯èå³æ·±ãã§ããããããã«çµã¿èŸŒãŸããã¢ã€ãã¢ã®ããã€ãã¯ãããçŸä»£çãªG1 GCã«ç§»è¡ããŸããã
CMS GCã®äœ¿çšã¯ããªãã·ã§ã³-XXïŒ+ UseConcMarkSweepGCã«ãã£ãŠæå¹ã«ãªããŸãã
åäœåç
ã·ãŒã±ã³ã·ã£ã«ã¢ã»ã³ãã©ãšãã©ã¬ã«ã¢ã»ã³ãã©ãæ€èšããéã«ãããŒã¯ãšã¹ã€ãŒããšããèšèãæ¢ã«æºãããŸããïŒãŸã äŒã£ãŠããªãå Žåã¯ãä»ããã®æã§ã ïŒã 圌ãã¯ãå€ãäžä»£ã®ã¬ããŒãžã³ã¬ã¯ã·ã§ã³ã®ããã»ã¹ã«2ã€ã®ã¹ãããã瀺ããŸãããçãæ®ã£ããªããžã§ã¯ãã«ããŒã¯ãä»ããæ»ãã ãªããžã§ã¯ããåé€ããŸãã CMSã³ã¬ã¯ã¿ãŒã¯ãã¡ã€ã³ããã°ã©ã ã®æäœãšäžŠè¡ããŠãããã®ã¹ããããå®è¡ãããšããäºå®ã«ããããã®ååãåŸãŸããã
åæã«ãCMS GCã¯ãæ¢ã«èæ ®ãããŠããã·ãªã¢ã«/ãã©ã¬ã«GCãšåãã¡ã¢ãªæ§æã䜿çšããŸããEden+ Survivor 0 + Survivor 1 + TenuredãªãŒãžã§ã³ãããã³å°ããªã¬ããŒãžã³ã¬ã¯ã·ã§ã³ã®åãååã§ãã éãã¯ãçµã¿ç«ãŠãå®äºããããšããå§ãŸããŸãã CMSã®å Žåãè¥ãäžä»£ã®ãªããžã§ã¯ãã«åœ±é¿ããªããããå®å šãªã¢ã»ã³ããªã§ã¯ãªãã ã¡ãžã£ãŒã¢ã»ã³ããªãšåŒã°ããŸãã ãã®çµæãããã®å°èŠæš¡ã¢ã»ã³ããªãšäžçŽã¢ã»ã³ããªã¯åžžã«åé¢ãããŠããŸãã ãã®åé¢ã®å¯äœçšã®1ã€ã¯ãè¥ãäžä»£ã®ãã¹ãŠã®ãªããžã§ã¯ãïŒæ»ãã§ããå¯èœæ§ãããå Žåã§ãïŒããå€ãäžä»£ã®ãªããžã§ã¯ãã®ã¹ããŒã¿ã¹ã決å®ããéã«ã«ãŒãã®åœ¹å²ãæããããšãã§ããããšã§ãã
CMSã³ã¬ã¯ã¿ãŒãšä»¥åã«æ€èšãããã³ã¬ã¯ã¿ãŒã®éèŠãªéãã¯ãå€ããã«ããéå§ããããã«Tenuredãå®äºããã®ãåŸ ããªãããšã§ãã ãã®ä»£ããã圌ã¯ããã¯ã°ã©ãŠã³ãã§çµ¶ããåããŠãããTenuredãã³ã³ãã¯ãã«ããããšããŠããŸãã
CMS GCã䜿çšããå Žåãå€ãã¬ããŒãžã³ã¬ã¯ã·ã§ã³ãã©ã®ãããªãã®ãèŠãŠã¿ãŸãããã
ã¡ã€ã³ã¢ããªã±ãŒã·ã§ã³ã¹ã¬ãããåæ¢ããã«ãŒãããçŽæ¥ã¢ã¯ã»ã¹å¯èœãªãã¹ãŠã®ãªããžã§ã¯ããããŒã¯ããããšããå§ãŸããŸãã ãã®åŸãã¢ããªã±ãŒã·ã§ã³ã¯äœæ¥ãåéãããããšäžŠè¡ããŠãã³ã¬ã¯ã¿ãŒã¯éåžžã«ããŒã¯ãããã«ãŒããªããžã§ã¯ãïŒãã®éšåã¯1ã€ãŸãã¯è€æ°ã®ã¹ã¬ããã§å®è¡ïŒãããªã³ã¯ã«ãã£ãŠã¢ã¯ã»ã¹å¯èœãªãã¹ãŠã®çããŠãããªããžã§ã¯ããæ€çŽ¢ããŸãã
åœç¶ããã®ãããªæ€çŽ¢äžã«ãããŒãå ã®ç¶æ³ã¯å€åããå¯èœæ§ããããçããŠãããªããžã§ã¯ãã®æ€çŽ¢äžã«åéããããã¹ãŠã®æ å ±ãé¢é£ããããã§ã¯ãããŸããã ãããã£ãŠãã³ã¬ã¯ã¿ãŒã¯åã³ã¢ããªã±ãŒã·ã§ã³ãäžæåæ¢ããããŒããã¹ãã£ã³ããŠãæåã®ãã¹ã§ãããåé¿ããã©ã€ããªããžã§ã¯ããèŠã€ããŸãã åæã«ããªããžã§ã¯ãã¯ã©ã€ãã§èšé²ããããšæ³å®ãããŠããŸããããªã¹ããå®æããæç¹ã§ã¯ããã®ãããªãã®ã¯ãªããªããŸãã ãããã®ãªããžã§ã¯ãã¯ãããŒãã£ã³ã°ã¬ããŒãžãšåŒã°ãã次ã®ãã«ãäžã«åé€ãããŸãã
çããŠãããªããžã§ã¯ãã«ããŒã¯ãä»ããããåŸãã¢ããªã±ãŒã·ã§ã³ã®ã¡ã€ã³ã¹ã¬ããã¯åäœãåéããã³ã¬ã¯ã¿ãŒã¯ããã€ãã®äžŠåã¹ã¬ããã§ããããªããžã§ã¯ãã®ã¡ã¢ãªãæ¶å»ããŸãã ã¢ããªã±ãŒã·ã§ã³ã®å®è¡äžã«ãããè¡ãããšã¯éåžžã«é£ãããããã¯ãªãŒãã³ã°åŸãå€ãäžä»£ã®ãªããžã§ã¯ãã®ããã±ãŒãžåã¯å®è¡ãããªãããšã«æ³šæããŠãã ããã
CMSãã«ããŒã¯ååã«ã¹ããŒãã§ãã ããšãã°ã圌ã¯ã¢ããªã±ãŒã·ã§ã³ã®äœæ¥ã§é·ãäžæåæ¢ãäœæããªãããã«ãå€ãã¬ããŒãžã³ã¬ã¯ã·ã§ã³ãé©æã«é åžããããšããŸãïŒãã®å€æ§æ§ã«ã€ããŠã®è¿œå ã®è©³çŽ°ã¯ã³ã¡ã³ã ïŒã ãããè¡ãããã«ã圌ã¯éå»ã®ãã«ãã«é¢ããçµ±èšãä¿æããããã«åºã¥ããŠåŸç¶ã®ãã«ããèšç»ããŸãã
ãããšã¯å¥ã«ãã¡ã¢ãªãå®å šã«ãªããªãåã«ãã³ã¬ã¯ã¿ãŒãTenuredãã¯ãªã¢ããæéããªãç¶æ³ãèæ ®ããå¿ èŠããããŸãã ãã®å Žåãã¢ããªã±ãŒã·ã§ã³ã¯åæ¢ããã¢ã»ã³ããªå šäœãé 次ã¢ãŒãã§å®è¡ãããŸãã ãã®ç¶æ³ã¯ã åæã¢ãŒãé害ãšåŒã°ããŸã ã -verboseïŒgcãŸãã¯-XloggcïŒfilenameãªãã·ã§ã³ãæå¹ã«ãªã£ãŠããå Žåãã³ã¬ã¯ã¿ãŒã¯ãããã®ãšã©ãŒã«ã€ããŠéç¥ããŸã ã
CMSã«ã¯ãã€ã³ã¯ãªã¡ã³ã¿ã«ã¢ãŒãïŒi-cmsïŒãšåŒã°ããèå³æ·±ãåäœã¢ãŒãããããŸããããã«ãããã¡ã€ã³ã¢ããªã±ãŒã·ã§ã³ãšäžŠè¡ããŠåäœããŠããéãäžæçã«åæ¢ããããã»ããµãªãœãŒã¹ãçæéïŒè»ã®ABSã®ãããªãã®ïŒè§£æŸããŸãã ããã¯ãã³ã¢ã®å°ãªããã·ã³ã§åœ¹ç«ã¡ãŸãã ãã ãããã®ã¢ãŒãã¯äœ¿çšãæšå¥šãããŠããªããšæ¢ã«ããŒã¯ãããŠãããå°æ¥ã®ãªãªãŒã¹ã§ã¯ç¡å¹ã«ãªãå¯èœæ§ãããããã詳现ãªåæã¯è¡ããŸããã
STWã®ç¶æ³
äžèšã®ãã¹ãŠãããéåžžã®ã¬ããŒãžã³ã¬ã¯ã·ã§ã³äžã«ãCMS GCã¯æ¬¡ã®ãããªç¶æ³ã§STWã«ã€ãªããããšã«ãªããŸãã
- å°ããªã¬ããŒãžã³ã¬ã¯ã·ã§ã³ã ãã®äžæåæ¢ã¯ãParallel GCã®åæ§ã®äžæåæ¢ãšå€ãããŸããã
- å€ããã«ãå ã®çããŠãããªããžã§ã¯ãã®æ€çŽ¢ã®åæãã§ãŒãºïŒããããåæããŒã¯äžæåæ¢ ïŒã ãã®äžæåæ¢ã¯éåžžéåžžã«çãã§ãã
- å€ããã«ãå ã®çããŠãããªããžã§ã¯ãã®ã»ããã®å®äºãã§ãŒãºïŒ 泚éããŒãºãšãåŒã°ããŸãïŒã éåžžãæåã®æ€çŽ¢ãã§ãŒãºãããé·ããªããŸãã
競äºäœå¶ã倱æããå Žåãäžæåæ¢ã¯ååã«é·ãæéé ããå ŽåããããŸãã
ã«ã¹ã¿ãã€ãº
CMSã§ã¡ã¢ãªãæŽçããæ¹æ³ã¯ãã·ãªã¢ã«/ãã©ã¬ã«GCã§äœ¿çšãããæ¹æ³ãšäŒŒãŠãããããããŒãé åã®ãµã€ãºã決å®ããããã®åããªãã·ã§ã³ãšãå¿ èŠãªããã©ãŒãã³ã¹ãã©ã¡ãŒã¿ã®èªåãã¥ãŒãã³ã°ãªãã·ã§ã³ãé©çšã§ããŸãã
éåžžãCMSã¯ãã¢ããªã±ãŒã·ã§ã³ã®åäœã§åéãããçµ±èšã«åºã¥ããŠãå€ããã«ããå®è¡ããå¿ èŠãããææã決å®ããŸãããå€ããã«ããéå§ããå¿ èŠãããå°éæã«ãTenuredãªãŒãžã§ã³ã®ã³ã³ãã³ãã®ãããå€ãæã£ãŠããŸãã ãã®ãããå€ã¯ã
é·æãšçæ
以åã«æ€èšãããã·ãªã¢ã«/ãã©ã¬ã«GCãšæ¯èŒãããã®ãã«ããŒã®å©ç¹ã¯ãå€ãã®ã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠéèŠãªèŠå ã§ããããŠã³ã¿ã€ã ã®æå°åã«çŠç¹ãåœãŠãŠããããšã§ãã ãã ãããã®ã¿ã¹ã¯ãå®è¡ããã«ã¯ãããã»ããµãªãœãŒã¹ãšå€ãã®å Žåå šäœã®ã¹ã«ãŒããããç ç²ã«ããå¿ èŠããããŸãã
ãã®ã³ã¬ã¯ã¿ãŒã¯å€ãäžä»£ã®ãªããžã§ã¯ããå§çž®ããªããããTenuredã®æçåã«ã€ãªããããšãæãåºããŠãã ããã ãã®äºå®ã¯ããããŒãã£ã³ã°ã¬ããŒãžã®ååšãšãšãã«ãä»ã®ã³ã¬ã¯ã¿ãŒã«å¿ èŠãªã¡ã¢ãªãããå€ãã®ã¡ã¢ãªïŒå ·äœçã«ã¯ãå€ãäžä»£ïŒãå²ãåœãŠãå¿ èŠã«ã€ãªãããŸãïŒOracleã¯20ïŒ ä»¥äžãæšå¥šããŠããŸãïŒã
ããŠã競äºäœå¶ã®æœåšçãªå€±æã®å Žåã®é·ãäŒæ¢ã¯äžå¿«ãªé©ãã§ããå ŽåããããŸãã ãããã¯é »ç¹ã§ã¯ãããŸããããååãªã¡ã¢ãªãããå ŽåãCMSã¯ããããå®å šã«åé¿ã§ããŸãã
ãã ãããã®ãããªã³ã¬ã¯ã¿ãŒã¯ãé·æéåç¶ãã倧éã®ããŒã¿ã䜿çšããã¢ããªã±ãŒã·ã§ã³ã«é©ããŠããå ŽåããããŸãã ãã®å Žåããã®æ¬ ç¹ã®ããã€ãã¯å¹³æºåãããŠããŸãã ãã ãããããã«ããŠããJava HotSpot VMã¯ãªããã§å¥ã®ã³ã¬ã¯ã¿ãŒã«äŒããŸã§ããã®äœ¿çšã決å®ããªãã§ãã ããã
G1 GC
ããã§ãç§ãã¡ã¯æåŸã®ãããããæãèå³æ·±ãã¬ããŒãžã³ã¬ã¯ã¿ãŒã®å€ãã«å°éããŸãã-G1ïŒããã¯Garbage Firstã®ç¥èªã§ãïŒã äž»ã«èå³æ·±ãã®ã¯ãã·ãªã¢ã«/ãã©ã¬ã«/ CMSã©ã€ã³ã®æ瀺çãªç¶ç¶ã§ã¯ãªããã¬ããŒãžã³ã¬ã¯ã·ã§ã³ã®ä»»æã®ãã§ãŒãºã«äžŠåæ§ãè¿œå ããããã¡ã¢ãªã®ã¯ãªãŒãã³ã°ã¿ã¹ã¯ã«å€§å¹ ã«ç°ãªãã¢ãããŒãã䜿çšããããã§ãã
G1ã¯ãæãè¥ãHotSpotä»®æ³ãã·ã³ã®ã¬ããŒãžã³ã¬ã¯ã¿ãŒã§ãã åœåã¯ãããŒãã倧ããïŒ4 GB以äžïŒã¢ããªã±ãŒã·ã§ã³ã®ã³ã¬ã¯ã¿ãŒãšããŠäœçœ®ä»ããããŠããŸãããã¹ã«ãŒããããäœäžãããšããŠããå¿çæéãå°ããäºæž¬å¯èœãªç¶æ ã«ä¿ã€ããšãéèŠã§ãã ãã®åéã§ã¯ã圌ã¯CMS GCãšç«¶äºããŸããããåœåã¯ç§ãã¡ãæãã»ã©æåããŠããŸããã§ããã ããããåŸã ã«ä¿®æ£ãæ¹åãå®å®åãããæçµçã«OracleãCMSã®é·æçãªä»£æ¿ãšããŠãããèªãã¬ãã«ã«éããOpen JDKã¯ããŒãžã§ã³9ã®ãµãŒããŒæ§æã®ããã©ã«ãã³ã¬ã¯ã¿ãŒã§ãããšçå£ã«èããŠããŸãã
ããã¯ãã¹ãŠãæããã«åœŒã®ããã€ã¹ã«å¯ŸåŠãã䟡å€ããããŸãã 延æããŸããã
G1ã¯Javaãªãã·ã§ã³-XXïŒ+ UseG1GCã«ãã£ãŠæå¹ã«ãªããŸãã
åäœåç
G1ãæ€èšãããšãã«æåã«ç®ãåŒãã®ã¯ãããŒãã®æŽçæ¹æ³ã®å€æŽã§ãã ããã§ã¯ãã¡ã¢ãªã¯åããµã€ãºã®å€ãã®é åã«åå²ãããŸãã ãããã®é åã®ãµã€ãºã¯ããŒãã®åèšãµã€ãºã«äŸåããããã©ã«ãã§éžæãããããã2048以äžãéåžžã¯1ã32 MBã«ãªããŸãã å¯äžã®äŸå€ã¯ããããã巚倧ãªé åã§ã ãããã¯ãéåžžã«å€§ããªãªããžã§ã¯ããå容ããããã«éåžžã®é åã®çµåã«ãã£ãŠäœæãããŸãã
ãã®å Žåã®ãªãŒãžã§ã³ã®ãšãã³ããµãã€ããŒãããã³ããã¥ã¢ããžã®åå²ã¯è«ççã§ãããåãäžä»£ã®ãªãŒãžã§ã³ã¯é£ç¶ããå¿ èŠã¯ãªããç¹å®ã®äžä»£ã®ã¡ã³ããŒã·ãããå€æŽããããšãã§ããŸãã ããŒããé åã«åå²ããäŸã¯æ¬¡ã®ããã«ãªããŸãïŒé åã®æ°ãå€§å¹ ã«æžå°ããŸãïŒã
å°ããªã¢ã»ã³ããªã¯å®æçã«å®è¡ãããè¥ãäžä»£ãã¯ãªãŒã³ã¢ããããŠãªããžã§ã¯ããSurvivorãªãŒãžã§ã³ã«è»¢éããããTenuredã«è»¢éããŠå€ãäžä»£ã«ã¢ããã°ã¬ãŒãããŸãã è€æ°ã®ã¹ã¬ããããªããžã§ã¯ãã®è»¢éã§åäœããã¡ã€ã³ã¢ããªã±ãŒã·ã§ã³ã¯ãã®ããã»ã¹äžã«åäœãåæ¢ããŸãã ãã®ã¢ãããŒãã¯ã以åã«æ€èšãããã³ã¬ã¯ã¿ãŒãããã§ã«ããç¥ãããŠããŸãããéãã¯ãäžä»£å šäœã§ã¯ãªããã³ã¬ã¯ã¿ãŒãç®çã®æéãè¶ ããã«ã¯ãªãŒãã³ã°ã§ããé åã®äžéšã§ã®ã¿å®è¡ãããããšã§ãã åæã«ã圌ã¯ã圌ã®æèŠã§ã¯ããã¿ã®æ倧éãèç©ããããã®æž æãæ倧ã®çµæãããããå°åãæž æããããã«éžæããŸãã ãããã£ãŠãååã¯Garbage First-ãããããŽãã§ãã
ãŸããå®å šãªã¢ã»ã³ããªïŒããæ£ç¢ºã«ã¯ãããã§ã¯mixedãšåŒã°ããŸã ïŒã䜿çšãããšã以åã«æ€èšããã¢ã»ã³ãã©ããããã¹ãŠãå°ãè€éã«ãªããŸãã G1ã«ã¯ã ããŒãã³ã°ãµã€ã¯ã«ãšåŒã°ããããã»ã¹ããããŸããããã¯ãã¡ã€ã³ã¢ããªã±ãŒã·ã§ã³ãšäžŠè¡ããŠå®è¡ãããçããŠãããªããžã§ã¯ãã®ãªã¹ããã³ã³ãã€ã«ããŸãã æåŸã®æ®µèœãé€ããŠããã®ããã»ã¹ã¯ãã§ã«ããç¥ãããŠããŸãã
- åæããŒã¯ã å°ããªã¢ã»ã³ããªããååŸããæ å ±ã䜿çšããŠãïŒã¡ã€ã³ã¢ããªã±ãŒã·ã§ã³ãåæ¢ããŠïŒã«ãŒããããŒã¯ããŸãã
- åæããŒãã³ã°ã ã¡ã€ã³ã¢ããªã±ãŒã·ã§ã³ã®æäœãšäžŠè¡ããŠãããŒãäžã®ãã¹ãŠã®çããŠãããªããžã§ã¯ããè€æ°ã®ã¹ã¬ããã§ããŒã¯ããŸãã
- çºèš 以åã«ã¢ã«ãŠã³ãã«ç»é²ãããŠããªãçããŠãããªããžã§ã¯ãã®è¿œå æ€çŽ¢ïŒã¡ã€ã³ã¢ããªã±ãŒã·ã§ã³ãåæ¢ïŒã
- ã¯ãªãŒã³ã¢ãã ãªããžã§ã¯ããžã®ãªã³ã¯ã®ã¢ã«ãŠã³ãã£ã³ã°ã®ããã®è£å©æ§é ã®ã¯ãªãŒãã³ã°ãããã³æ°ãããªããžã§ã¯ããé 眮ããããã«ãã§ã«äœ¿çšã§ãã空ã®é åã®æ€çŽ¢ã ãã®ã¹ãããã®æåã®éšåã¯ãã¡ã€ã³ã¢ããªã±ãŒã·ã§ã³ãåæ¢ãããšãã«å®è¡ãããŸãã
çããŠãããªããžã§ã¯ãã®ãªã¹ããååŸããããã«ãG1ã¯ã¹ãããã·ã§ããéå§æïŒSATBïŒã¢ã«ãŽãªãºã ã䜿çšããŸããã€ãŸããã¢ã«ãŽãªãºã ãéå§ãããæç¹ã§ååšããŠãããã¹ãŠã®ãªããžã§ã¯ããšããã®éã«äœæããããã¹ãŠã®ãªããžã§ã¯ããçããŠãããªããžã§ã¯ãã®ãªã¹ãã«å«ãŸããŸãããã®å®è£ ã ããã¯ãç¹ã«ãG1ãæµ®éç Žçã蚱容ããããšãæå³ããŸããããã¯ãCMSã³ã¬ã¯ã¿ãŒãæ€èšãããšãã«åºäŒã£ããã®ã§ãã
ã¿ã°ä»ããµã€ã¯ã«ã®çµäºåŸãG1ã¯æ··åã¢ã»ã³ããªã®å®è¡ã«åãæ¿ããŸãã ããã¯ãåã¢ã»ã³ããªã§ãå€ãã®å€ãäžä»£ã®é åããã¯ãªãŒãã³ã°ãããè¥ãäžä»£ã®é åã®ã»ããã«è¿œå ãããããšãæå³ããŸãã ãã®ãããªã¢ã»ã³ããªã®æ°ããã³ã¯ãªãŒãã³ã°ãããå€ãé åã®æ°ã¯ãå¿ èŠãªã¢ã»ã³ããªæéãè¶ ããªãããã«ã以åã®ã¢ã»ã³ããªã«ã€ããŠã³ã¬ã¯ã¿ã«ãã£ãŠåéãããçµ±èšã«åºã¥ããŠéžæãããŸãã ã³ã¬ã¯ã¿ãŒãååãªã¡ã¢ãªãã¯ãªã¢ãããšãã¹ã¢ãŒã«ã¢ã»ã³ããªã¢ãŒãã«æ»ããŸãã
ããŒããç¹å®ã®ãããå€ãè¶ ãããšã次ã®ã¿ã°ä»ããµã€ã¯ã«ãããã³ãã®çµæã次ã®æ··åã¢ã»ã³ããªãèµ·åãããŸãã
äžèšã®ããŒãäŸã®æ··åã¬ããŒãžã³ã¬ã¯ã·ã§ã³ã¯ã次ã®ããã«ãªããŸãã
ã¡ã¢ãªã¯ãªãŒãã³ã°ããã»ã¹äžã«ãåç¶ãªããžã§ã¯ããã³ããŒã§ããããŒãã«ç©ºãé åããªãããšãå€æããå ŽåããããŸãã ããã¯ãCMSã§èŠãé¡äŒŒç¹ã§ããå²ãåœãŠïŒé¿é£ïŒå€±æã®ç¶æ³ã«ã€ãªãããŸãã ãã®å Žåãã¡ã€ã³ã¢ããªã±ãŒã·ã§ã³ã¹ã¬ãããåæ¢ãããšãã³ã¬ã¯ã¿ãŒã¯ããŒãå šäœã§å®å šãªã¬ããŒãžã³ã¬ã¯ã·ã§ã³ãå®è¡ããŸãã
åè¿°ã®ä»¥åã®ã¢ã»ã³ããªã®çµ±èšã«åºã¥ããŠãG1ã¯ç¹å®ã®äžä»£ã«å²ãåœãŠãããé åã®æ°ãå€æŽããŠãå°æ¥ã®ã¢ã»ã³ããªãæé©åã§ããŸãã
巚人
G1ã«ã€ããŠã®è©±ã®åé ã§ããããã巚倧ãªãªããžã§ã¯ãïŒå·šå€§ãªãªããžã§ã¯ãïŒãæ ŒçŽãããŠãã巚倧ãªé åã®ååšã«èšåããŸããã JVMã®èŠ³ç¹ããã¯ãé åã®ååãã倧ãããªããžã§ã¯ãã¯å·šå€§ãšèŠãªãããç¹å¥ãªæ¹æ³ã§åŠçãããŸãã
- ãªãŒãžã§ã³éã移åããããšã¯ãããŸããã
- ã¿ã°ä»ããµã€ã¯ã«ã®äžéšãšããŠããŸãã¯å®å šãªã¬ããŒãžã³ã¬ã¯ã·ã§ã³ãšããŠåé€ã§ããŸãã
- 空ãé åãæ®ã£ãŠããŠãã巚倧ãªãªããžã§ã¯ããå ããé åã«ã¯èª°ãåŒã£æãããŸããã
äžè¬ã«ããããã®é ç®ã¯ãåºç¯å²ã«åã¶çµæãããããå ŽåããããŸãã 倧ããªãªããžã§ã¯ããç¹ã«çåœã®ãªããžã§ã¯ãã¯ãå°ããªã¢ã»ã³ããªã§ã¯åé€ãããªãããããã¹ãŠã®ã¿ã€ãã®ã³ã¬ã¯ã¿ãŒã«å€å€§ãªäžäŸ¿ãããããå¯èœæ§ããããŸãããå€ãäžä»£ã®é åã§è²Žéãªã¹ããŒã¹ãå æããŸãïŒåã®ç« ã§èª¬æããå éãªããžã§ã¯ããèŠããŠããŸããïŒïŒåœŒã«ãšã£ãŠã¯ãæ°ã¡ã¬ãã€ãïŒå Žåã«ãã£ãŠã¯500 KBïŒã®ãªããžã§ã¯ãã§ããããã§ã«å·šå€§ã§ãããšããäºå®ã«ããæªåœ±é¿ã åã®èšäºã®è§£èª¬ã§ã¯ã Solrã®ãã®ãããªåé¡ã®äŸã瀺ããŠããŸãã
ãã®äžé£ã®èšäºã®ç¶ãã§ãããã«å¯ŸåŠããæ¹æ³ã説æããŸãã
STWã®ç¶æ³
èŠçŽãããšãG1ã®å Žåã次ã®å Žåã«STWãååŸããŸãã
- äžä»£éã§ãªããžã§ã¯ãã転éããããã»ã¹ã ãã®ãããªäžæåæ¢ãæå°éã«æããããã«ãG1ã¯è€æ°ã®ã¹ã¬ããã䜿çšããŸãã
- ããŒãã³ã°ãµã€ã¯ã«ã®äžéšãšããŠã®ã«ãŒãã®åæããŒãã³ã°ã®çããã§ãŒãºã
- ã¿ã°ä»ããµã€ã¯ã«ã®çºèšãã§ãŒãºã®çµäºæããã³ã¯ãªãŒã³ã¢ãããã§ãŒãºã®éå§æã®é·ãäžæåæ¢ã
ã«ã¹ã¿ãã€ãº
G1ã³ã¬ã¯ã¿ãŒã®äž»ãªç®æšã¯ã¡ã€ã³ã¢ããªã±ãŒã·ã§ã³ã®åäœã®äžæåæ¢ãæå°éã«ããããšã§ããããããããæ§æãããšãã®ã¡ã€ã³ãªãã·ã§ã³ã¯
ãªãã·ã§ã³
é åãµã€ãºã®èªåéžæã«æ £ããŠããªãå Žåã¯ã
å¿ èŠã«å¿ããŠãããŒããæºããããã®ãããå€ãå€æŽã§ããŸãããã®ãããå€ã«éãããšãã¿ã°ä»ããµã€ã¯ã«ã®å®è¡ãšæ··åã¢ã»ã³ããªã¢ãŒããžã®ç§»è¡ãéå§ãããŸãã ããã¯ã
G1èšå®ã®æ·±ããããã«æ·±ãããå Žåã¯ããªãã·ã§ã³
é·æãšçæ
äžè¬ã«ãG1ã³ã¬ã¯ã¿ãŒã¯CMSãããæ£ç¢ºã«äžæåæ¢ãµã€ãºãäºæž¬ããç¹ã«ããŒããµã€ãºã倧ããå Žåã«é·ãã¢ããªã±ãŒã·ã§ã³ã¯ã©ãã·ã¥ãé²ãããã«ãããé©åã«ã¢ã»ã³ããªãé åžãããšèããããŠããŸãã åæã«ãCMSã®ãã®ä»ã®äžå©ãªç¹ãããšãã°ã¡ã¢ãªãæçåããªããªã©ãã奪ãããŠããŸãã
G1ã®å©ç¹ã®ä»£åã¯ãã¡ã€ã³ããã°ã©ã ãšäžŠè¡ããŠäœæ¥ã®ããªãã®éšåãå®è¡ããããã«äœ¿çšããããã»ããµãªãœãŒã¹ã§ãã ãã®çµæãã¢ããªã±ãŒã·ã§ã³ã®åž¯åå¹ ã圱é¿ãåããŸãã G1ã®ããã©ã«ãã®ã¿ãŒã²ãã垯åå¹ ã¯90ïŒ ã§ãã ããšãã°ã䞊åGCã®å Žåããã®å€ã¯99ïŒ ã§ãã ãã¡ãããããã¯G1ã®ã¹ã«ãŒããããåžžã«ã»ãŒ10ïŒ äœäžããããšãæå³ãããã®ã§ã¯ãããŸãããããã®æ©èœã¯åžžã«å¿µé ã«çœ®ããŠããå¿ èŠããããŸãã
ãã®ãããHotSpotä»®æ³ãã·ã³ã®4ã€ã®ã¬ããŒãžã³ã¬ã¯ã¿ãŒãã¹ãŠã®æäœã¢ã«ãŽãªãºã ãåæããŸããã 次ã®èšäºã§ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãæé©åããããã«ãã®ç¥èãã©ã®ããã«é©çšã§ããããç解ããããšããŸãã
以åïŒ
âããŒã2-ã·ãªã¢ã«GCããã³ãã©ã¬ã«GCã¢ã»ã³ãã©ãŒ
âããŒã1-ã¯ããã«