SIP5.0ÒÔºó·þÎñµÄÇëÇóÁ¿±¬·¢ÐÔÔö³¤£¬Òò´ËÒ²±©Â¶ÁËÔÀ´Ã»Óб©Â¶³öÀ´µÄÎÊÌâ¡£ÓÉÓÚ¹ýÈ¥Ò»°ãÒ»¸öа汾·¢²¼ÖÜÆÚÔÚÒ»¸öÔÂ×óÓÒ£¬Òò´ËÈç¹ûÊÇСµÄÄÚ´æÐ¹Â¶£¬ÔÚÒ»¸öÔÂÖ®ÄÚÖØÐ·¢²¼ÒÔºóÒ²¾Í¿´²»³öÈκÎÎÊÌâ¡£
Òò´ËÕâÕó×Ó³ýÁËÓÅ»¯Memcache¿Í»§¶ËºÍSIP¿ò¼ÜÂß¼ÒÔÍâÆäËûÒÀÀµ²¿·ÖÒÔÍ⣬¶ÔÓÚÄÚ´æÐ¹Â¶µÄѹÁ¦²âÊÔÒ²¿ªÊ¼ÊµÊµÔÚÔÚµÄ×öÆðÀ´¡£¾¹ýÕâ´ÎÎÊÌâµÄ¶¨Î»ºÍ½â¾öÒԺ󣬴óÖ¾õµÃ¶ÔÓÚÒ»¸ö´óÓû§Á¿Ó¦ÓÃÒª·ÅÐĵϰ£¬ÄÇôÐèÒª×öÕâô¼¸²½¡£
1. ÔÚGCÊä³öµÄ»·¾³Ï£¬´óѹÁ¦ÏÂ×ö¶àÌìµÄ²âÊÔ¡££¨¿ÉÒÔÔÚ JAVA_OPTSÔö¼Ó-verbose:gc -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError£©
2. ¼ì²éGCÊä³öÈÕÖ¾À´ÅжÏÊÇ·ñÓÐÄÚ´æÐ¹Â¶¡££¨Õⲿ·ÖºóÃæÓÐÏêϸµÄʵÀý˵Ã÷£©
3. Èç¹û³öÏÖÄÚ´æÐ¹Â¶ÎÊÌ⣬ÔòʹÓÃjprofilerµÈ¹¤¾ßÀ´ÅŲéÄÚ´æÐ¹Â¶µã£¨Ö®ËùÒÔ²»Ò»¿ªÊ¼Ê¹Óã¬ÒòΪjprofilerµÈ¹¤¾ß¶ÔÓÚѹÁ¦²âÊÔÓÐÓ°Ï죬ʹµÃ´óѹÁ¦ÎÞ·¨ÉÏÈ¥£¬Ò²Ê¹ÎÊÌâ²»ÄÇôÈÝÒ×±©Â¶£©
4. ½â¾öÎÊÌ⣬²¢ÔÚÖØ¸´2²½Öè¡£
ÕâÀï¶ÔSIPÔÚjdk1.5ºÍjdk1.6ÏÂ×öѹÁ¦²âÊÔµÄGC ÈÕÖ¾À´×öÒ»¸öʵ¼ÊµÄ·ÖÎö¶Ô±È£¬Í¨¹ý¶Ô±ÈÀ´´óÖÂÃèÊöÒ»ÏÂÈçºÎ¸ù¾ÝÊä³öÇé¿öÄܹ»Á˽âÓ¦ÓÃÊÇ·ñ´æÔÚÄÚ´æÐ¹Â¶ÎÊÌâ¡££¨ÕâÀïµÄÄÚ´æÐ¹Â¶ÎÊÌâ¾ÍÊÇÔÚÒÔǰblogд¹ýµÄjdkµÄconcurrent°üÄÚLinkedBlockingQueueµÄpoll·½·¨´æÔڱȽÏÑÏÖØµÄÄÚ´æÐ¹Â¶£¬µ÷ÓÃÆµÂÊÔ½¸ß£¬ÄÚ´æÐ¹Â¶µÄÔ½À÷º¦£©
Á½´ÎѹÁ¦²âÊÔ¶¼²î²»¶à¶¼ÊÇÁ½Ì죬²âÊÔ·½°¸ÈçÏ£º
¿ªÊ¼50¸ö²¢·¢£¬Ã¿¸ö²¢·¢Ã¿´ÎÇëÇóÍê±ÏºóÐÝÏ¢0.1Ã룬10·ÖÖÓºóÔö³¤50¸ö²¢·¢£¬°´´Ë¹æÂÉÔö³¤µ½500²¢·¢¡£
¾É°æ±¾SIPÊÇÔÚJDK1.5»·¾³ÏÂÍê³ÉµÄѹÁ¦²âÊÔ£¬
а汾SIPµÄJDK°æ±¾ÊÇ1.6£¬
ѹÁ¦»úºÍÒÔǰһÑù£¬ÊÇ10.2.226.40£¬DELL1950£¬8CPU£¬8GÄÚ´æ¡£
ѹÁ¦»úÄ£Äâ·¢³ö¶ÔÒ»¸öÐèҪǩÃûµÄAPI²»¶ÏµÄµ÷ÓÃÇëÇó¡£
¿´¿´Á½¸öLogµÄ¾ßÌåÄÚÈÝ£¨ÄÚÈÝºÜ¶à½ØÈ¡²¿·Ö×ö·ÖÎö£©
ÏÈ˵һÏÂÈÕÖ¾Êä³öµÄ½á¹¹£º(1.6ºÍ1.5ÂÔ΢ÓÐһЩ²»Í¬£¬Ö»ÊÇ1.6¶ÔÓÚʱ¼äͳ¼Æ¸ü¼ÓϸÖÂ)
[GC [
Jdk1.5 log£º
Æô¶¯Ê±GCÊä³ö£º
[GC [DefNew: 209792K->4417K(235968K), 0.0201630 secs] 246722K->41347K(498112K), 0.0204050 secs]
[GC [DefNew: 214209K->4381K(235968K), 0.0139200 secs] 251139K->41312K(498112K), 0.0141190 secs]
Ò»¾äÊä³ö£º
ÐÂÉú´ú»ØÊÕǰ209792K£¬»ØÊÕºó4417K£¬»ØÊÕÊýÁ¿205375K£¬Heap×ÜÁ¿»ØÊÕǰ246722K»ØÊÕºó41347K£¬»ØÊÕ×ÜÁ¿205375K¡£Õâ¾Í±íʾ100%µÄÊջأ¬Ã»ÓÐÈκÎÐÂÉú´úµÄ¶ÔÏó±»ÌáÉýµ½ÖÐÉú´ú»òÕßÓÀ¾ÃÇø£¨Ãû×Ö˵µÄ²»Ò»¶¨×¼È·£¬Ö»ÊDZí´ïÒâ˼£©¡£
µÚ¶þ¾äÊä³ö£º
ÔËÐÐÒ»¶Îʱ¼äºó£º
[GC [DefNew: 210686K->979K(235968K), 0.0257140 secs] 278070K->68379K(498244K), 0.0261820 secs]
[GC [DefNew: 210771K->1129K(235968K), 0.0275160 secs] 278171K->68544K(498244K), 0.0280050 secs]
µÚÒ»¾äÊä³ö£º
ÐÂÉú´ú»ØÊÕǰ210686K£¬»ØÊÕºó979K£¬»ØÊÕÊýÁ¿209707K£¬Heap×ÜÁ¿»ØÊÕǰ278070K»ØÊÕºó68379K£¬»ØÊÕ×ÜÁ¿209691K¡£Õâ¾Í±íʾÓÐ16kûÓб»»ØÊÕ¡£
µÚ¶þ¾äÊä³ö£º
ÐÂÉú´ú»ØÊÕǰ210771K£¬»ØÊÕºó1129K£¬»ØÊÕÊýÁ¿209642K£¬Heap×ÜÁ¿»ØÊÕǰ278171K»ØÊÕºó68544K£¬»ØÊÕ×ÜÁ¿209627K¡£Õâ¾Í±íʾÓÐ15kûÓб»»ØÊÕ¡£
±È½ÏÒ»ÏÂÆô¶¯Ê±ÓëÏÖÔÚµÄÐÂÉú´úÕ¼ÓÃÄÚ´æÇé¿öºÍHeapʹÓÃÇé¿ö·¢ÏÖHeapµÄʹÓÃÔö³¤ºÜÃ÷ÏÔ£¬ÐÂÉú´úûÓÐÔö³¤£¬¶øHeapʹÓÃ×ÜÁ¿Ôö³¤ÁË27M£¬Õâ¾Í±íÃ÷¿ÉÄÜ´æÔÚÄÚ´æÐ¹Â¶£¬ËäȻÿһ´Îй¶µÄ×Ö½ÚÊýºÜÉÙ£¬µ«ÊÇÆµÂʺܸߣ¬´ó²¿·Öй¶µÄ¶ÔÏó¶¼±»Éý¼¶µ½ÁËÖÐÉú´ú»òÕ߳־ôú¡£
ÓÖÒ»¶Îʱ¼äºó£º
[GC [DefNew: 211554K->1913K(235968K), 0.0461130 secs] 350102K->140481K(648160K), 0.0469790 secs]
[GC [DefNew: 211707K->2327K(235968K), 0.0546170 secs] 350275K->140921K(648160K), 0.0555070 secs]
µÚÒ»¾äÊä³ö£º
ÐÂÉú´ú»ØÊÕǰ211554K£¬»ØÊÕºó1913K£¬»ØÊÕÊýÁ¿209641K£¬Heap×ÜÁ¿»ØÊÕǰ350102K»ØÊÕºó140481K£¬»ØÊÕ×ÜÁ¿209621K¡£Õâ¾Í±íʾÓÐ20kûÓб»»ØÊÕ¡£
·ÖÎöµ½ÕâÀï¾Í¿ÉÒÔ¿´³öÿһ´Îй¶µÄÄÚ´æÖ»ÓÐ10¼¸K£¬µ«ÊÇÔÚ´óѹÁ¦³¤Ê±¼äµÄ²âÊÔÏ£¬ÄÚ´æÐ¹Â¶»¹ÊǺÜÃ÷ÏԵ쬴ËʱHeapÒѾÔö³¤µ½ÁË140M£¬½ÏÆô¶¯Ê±ÒѾÔö³¤ÁË100M¡£Í¬Ê±GCÕ¼ÓõÄʱ¼äÔ½À´Ô½³¤¡£
ºóÐøµÄÏÖÏó£º
ºóÐø¹Û²ìÈÕÖ¾»á·¢ÏÖ£¬Full GCµÄƵÂÊÔ½À´Ô½¸ß£¬ÊÕ¼¯Ëù»¨·Ñʱ¼äÒ²ÊÇÔ½À´Ô½³¤¡££¨Full GC¶¨ÆÚ»áÖ´ÐУ¬Í¬Ê±¾Ö²¿»ØÊÕ²»ÄÜÂú×ã·ÖÅäÐèÇóµÄÇé¿öÏÂÒ²»áÖ´ÐУ©¡£
[Full GC [Tenured: 786431K->786431K(786432K), 3.4882390 secs] 1022399K->1022399K(1022400K), [Perm : 36711K->36711K(98304K)], 3.4887920 secs]
java.lang.OutOfMemoryError: Java heap space
Dumping heap to java_pid7720.hprof ...
³öÏÖÕâ¸öÓï¾ä±íʾÄÚ´æÕæµÄ±»ÏûºÄÍêÁË¡£
Jdk1.6 log£º
Æô¶¯Ê±GCµÄÊä³ö£º
[GC [PSYoungGen: 221697K->31960K(229376K)] 225788K->36051K(491520K), 0.0521830 secs] [Times: user=0.26 sys=0.05, real=0.05 secs]
[GC [PSYoungGen: 228568K->32752K(229376K)] 232659K->37036K(491520K), 0.0408620 secs] [Times: user=0.21 sys=0.02, real=0.04 secs]
µÚÒ»¾äÊä³ö£º
ÐÂÉú´ú»ØÊÕǰ221697K£¬»ØÊÕºó31960K£¬»ØÊÕÊýÁ¿189737K£¬Heap×ÜÁ¿»ØÊÕǰ225788K»ØÊÕºó36051K£¬»ØÊÕ×ÜÁ¿189737K¡£100%±»»ØÊÕ¡£
ÔËÐÐÒ»¶Îʱ¼äºóÊä³ö£º
[GC [PSYoungGen: 258944K->2536K(259328K)] 853863K->598135K(9