Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
×î´ó»¯ AIX É쵀 Java ÐÔÄÜ£¨ÉÏ£©
 
×÷ÕߣºAmit Mathur À´Ô´£ºIBM  ·¢²¼ÓÚ 2015-12-8
  5261  次浏览      34
 

×î´ó»¯ AIX É쵀 Java ÐÔÄÜ£¬µÚ 1 ²¿·Ö: »ù´¡

Õâ¸öÓÉÎå¸ö²¿·Ö×é³ÉµÄϵÁÐÌṩÁËÈô¸É¼¼Çɺͼ¼Êõ£¬ÕâЩ¼¼Çɺͼ¼Êõͨ³£ÓÃÓÚÓÅ»¯ Java? Ó¦ÓóÌÐò£¬ÒÔ±ãÔÚ AIX? ÉÏʵÏÖ×î¼ÑµÄÐÔÄÜ¡£ÆäÖл¹ÌṩÁËÓйØÃ¿¸ö¼¼ÇɵÄÊÊÓÃÐÔÌÖÂÛ¡£Ê¹ÓÃÕâЩ¼¼ÇÉ£¬ÄúÓ¦¸ÃÄܹ»¿ìËÙÓÅ»¯ Java »·¾³£¬ÒÔÊʺÏÓ¦ÓóÌÐòµÄÐèÒª¡£

ÒýÑÔ

´æÔÚÈô¸É¿ÉÓÃÓÚÔËÐÐ AIX µÄ IBM eServer pSeries ƽ̨µÄÐÔÄÜÓÅ»¯¹¤¾ß¡£ÔËÐÐÔÚ AIX ÉÏ IBM µÄ Java ʵÏÖ»¹°üº¬Èô¸Éµ÷Õû£¬ÆäÖдó¶àÊýµ÷Õû¶¼ÓÐÏ൱Çå³þµÄÎĵµËµÃ÷¡£¾¡¹ÜÈç´Ë£¬IBM Ö§³ÖÍŶÓÈÔÈ»Óöµ½Á˶àÖÖÇé¿ö£¬ÆäÖÐÐÔÄÜÓÅ»¯¹¤×÷Êܵ½ÕâÁ½×鹤¾ßÖ®¼äµÄ·ÖÀëÓ°Ïì¡£

±¾ÏµÁÐÎÄÕÂÏòÄúչʾÁËÈçºÎ½áºÏʹÓà AIX ºÍ Java ¹¤¾ß£¬ÒÔ×î´ó»¯»ùÓÚ AIX µÄ Java Ó¦ÓóÌÐòµÄÐÔÄÜ¡£µÚ 1 ²¿·Ö£¨¡°»ù´¡¡±£©ÌÖÂÛÁËʵÏֳɹ¦µÄÓÅ»¯¹¤×÷µÄÏȾöÌõ¼þ£¬²¢¸ÅÊöÁË¿ÉÓÃÓÚЭÖú´ËÀ๤×÷µÄ¹¤¾ß¡£Ç¿ÁÒ½¨ÒéÄúÍêÕûÔĶÁ´ËÎÄ£¬ÒòΪËü¿ÉÒÔÔÚÒÔºóΪÄú¼õÉÙ´óÁ¿µÄÂé·³¡£

±¾ÏµÁÐÖеĽÓÏÂÀ´ÈýƪÎÄÕÂÖ÷Òª¼¯ÖÐÓÚÐÔÄÜÓÅ»¯µÄÌØ¶¨·½Ãæ¡£µÚ 2 ²¿·Ö£¨¡°ËÙ¶ÈÐèÇó¡±£©ÌÖÂÛÁËÈçºÎ¸Ä½øÖ´ÐÐËٶȺÍÍÌÍÂÁ¿¡£µÚ 3 ²¿·Ö£¨¡°¸ü¶à¾ÍÊǸüºÃ¡±£©×ÅÑÛÓÚ´óСµ÷Õû¹¤×÷£¬²¢²ûÊöÁËÈçºÎÄܹ»ÓÐÀûµØ²Ù×÷ÄÚ´æ¡£µÚ 4 ²¿·Ö£¨¡°¼àÊÓÁ÷Á¿¡±£©Ñо¿ÁË×÷ΪÐÔÄÜÓÅ»¯Ä¿±êµÄÍøÂçºÍ´ÅÅÌ I/O¡£±àдÕâÈýƪÎÄÕÂÊÇΪÁ˱ãÓÚ¿ìËÙ²éÕÒ£¬Òò´Ë»¶Ó­Äú½«ÕâЩÎÄÕÂ×÷Ϊ¿ìËٲο¼£¬¶ø²»ÊÇ´ÓÍ·µ½Î²µØÔĶÁ¡£ÆäÖÐÿƪÎÄÕ»¹ÌÖÂÛÁËÎÒÃÇÈÏΪÔÚʵ¼Ê¹¤×÷Öзdz£ÓÐÓõÄÒ»°ã¼¼Çɺ͵÷Õû¡£

Çë×¢Ò⣬±¾ÎĽöÏÞÓÚ J2SE ÐÅÏ¢£»ÓйØÌض¨ÓÚ J2EE µÄÓÅ»¯£¬Çë²Î¿¼ J2EE ×é¼þµÄÅäÌ×Îĵµ¡£Èç¹ûÄúÔÚʹÓÃ°ó¶¨ Java µÄÓ¦ÓóÌÐò£¬Ó¦¸Ã²Î¿¼Ó¦ÓóÌÐòÎĵµÒÔÈ·±£Ëù×öµÄÈκθü¸Ä²»»áÓ°ÏìÓ¦ÓóÌÐò¹¦ÄÜ¡£

¿ªÊ¼Ö®Ç°

ÈκÎÀàÐ͵ÄÓÅ»¯¹¤×÷¶¼±ØÐ뿼Âǵ½Èô¸ÉÊÂÏÆäÖÐÓÐЩÊÂÏîÔÚÐÔÖÊÉÏÊǶÔÁ¢µÄ¡£¾¡¹ÜÿһÏî´ËÀ๤×÷¶¼ÊǶÀÌØµÄ£¬µ«ÊÇ´æÔÚһЩͨÓò¢ÇÒ¼¸ºõʼÖÕÓаïÖúµÄ²½Öè¡£ÏÂÃæÊÇÔÚ¿¼ÂÇÐÔÄÜÓÅ»¯Ç°ÐèҪ׼±¸ºÃµÄÊÂÏîµÄ¼òÒªÇåµ¥¡£Èç¹û´æÔÚÈκβ»ÄÜÔÚÓÅ»¯¿ªÊ¼Ö®Ç°Íê³ÉµÄ²½Ö裬¾ÍÓ¦¸Ã´æÔÚÕâÑù×öµÄ³ä·ÖÀíÓÉ¡£

Ç¨ÒÆµ½×îа汾

ÓÐ¹Ø AIX ÉϵÄ×îпÉÓà Java °æ±¾ÁÐ±í£¬Çë²ÎÔÄ IBM developer kits for AIX, Java technology edition¡£½Ïа汾µÄ Java °üº¬Í¨³£¾ßÓÐÖØÒªÒâÒåµÄÐÔÄÜÔöÇ¿¡£ÀýÈ磬ÓëÒÔǰ°æ±¾Ïà±È£¬Java 1.4 ¾ßÓÐÇ¿´óµÃ¶àµÄÀ¬»øÊÕ¼¯ÊµÏÖ¡£

¼´Ê¹Êܵ½Ê¹ÓÃÌØ¶¨ Java °æ±¾ÒªÇóµÄÔ¼Êø£¬Ò²Ó¦¸ÃÇ¨ÒÆµ½×îеĿÉÓ÷þÎñ¸üУ¨Service Refresh£¬SR£©¡£ÕâÊÇ´Ó¹¦ÄܺÍÐÔÄÜÐÞ¸´ÖлñÒæµÄ¿ìËÙ·½·¨¡£´ËÍ⣬Èç¹ûÓöµ½ÈκÎÀàÐ͵ÄÎÊÌ⣬Äú½«ÐèÒªÇ¨ÒÆµ½×îÐ嵀 SR ²ÅÄÜ»ñµÃÖ§³Ö¡£¶Ô×îРSR µÄÉý¼¶µÄÁíÒ»¸öʾÀýÊÇÔÚ Java 1.3.1 ÒÑ·¢²¼Ö®ºóÌí¼ÓµÄÖîÈç -Xdisableexplicitgc µÈ¿ª¹Ø£¬Òò´Ë³ý·ÇÄúÇ¨ÒÆµ½Ìض¨µÄ°æ±¾£¬·ñÔòÎÞ·¨Ê¹ÓÃÕâЩ¿ª¹Ø¡£

±¾ÎÄ×ÅÖØÒÔ Java 1.4 ºÍ Java 1.3.1 »·¾³ÎªÀý£¬ÒòΪ½Ï¾ÉµÄ°æ±¾ÒªÃ´ÒѾ­½áÊø·þÎñ£¬ÒªÃ´ºÜ¿ì¾ÍÒª½áÊø·þÎñÁË¡£ÓÉÓÚͬÑùµÄÔ­Òò£¬ÎÒÃǽ«ÒÔ AIX 5L£¨Ã÷È·µØËµÊÇ AIX 5.1 ºÍ AIX 5.2)»·¾³ÎªÀý£¬¶ø²»ÊÇ AIX 4.3.3 »ò¸üµÍ°æ±¾¡£

Èç¹ûÓ¦ÓóÌÐòµÄÅäÖÿÉÐУ¬Äú¿ÉÄÜ»¹Ï£Íû¿¼ÂÇÇ¨ÒÆµ½ 64 λ°æ±¾µÄ Java¡£ÕâÒ»Ö÷Ìⳬ³öÁ˱¾ÏµÁеķ¶Î§£»³ý·ÇÌØ±ð˵Ã÷£¬·ñÔòÎÒÃǽ«°ÑÌÖÂÛÏÞÖÆµ½ 32 λ Java¡£Çë¼ÌÐø¹Ø×¢ ESDD Éϲ»¾Ã½«ÍƳöµÄһƪÓÐ¹Ø 64 λ Java µÄÎÄÕ¡£

ÔÚÓÅ»¯Ö®Ç°ÐÞ¸´ÎÊÌâ

Èç¹ûÓöµ½ÖîÈç±ÀÀ£¡¢ÄÚ´æÐ¹Â©»òÓ¦ÓóÌÐò¹ÒÆðµÈÎÊÌ⣬ÄÇôÄú»¹Ã»ÓÐΪÓÅ»¯¹¤×÷×öºÃ×¼±¸¡£Õâ°üÀ¨Äú½ûÓÃÁË Just-In-Time (JIT) ±àÒëÆ÷µÄ²¿·Ö»òÈ«²¿µÄÇé¿ö¡£Èç¹û»·¾³ÖÐÖ¸¶¨ÁË JAVA_COMPILER »ò JITC_COMPILEOPT »·¾³±äÁ¿£¬ÔòÓ¦ÓóÌÐò¿ÉÄÜÒѾ­ÔâÊܵ½ÐÔÄÜËðʧ£¨Çë×¢Ò⣬ÄúÒ²¿ÉÒÔʹÓà JITC_COMPILEOPT À´ÓÅ»¯Ó¦ÓóÌÐòÐÔÄÜ¡£ÔÚ¿ªÊ¼ÐÔÄÜÓÅ»¯Ö®Ç°£¬ÄúÓ¦¸ÃÒѾ­ÐÞ¸´ÁËÎÊÌ⣬ÎÞÂÛÊÇͨ¹ýÉý¼¶µ½×îеķþÎñˢУ¬»¹ÊÇͨ¹ýÓë IBM Java Service ÍŶӽÓÇ¢¡£IBM developer kits - diagnosis documentation É쵀 Java Diagnostics Guide ÌṩÁËÓйØÈçºÎµ÷ÊÔ IBM Java Óöµ½µÄÈκÎÎÊÌâµÄ³öÉ«½¨Òé¡£

ÑéÖ¤ÄúµÄ»·¾³

Äúͨ³£²»ÐèÒªµ£ÐÄÈκÎÌØ¶¨µÄ»·¾³ÉèÖã¨Ç°Ò»²¿·ÖÖÐÌáµ½µÄ JIT ÉèÖã¬ÒÔ¼°ÓÃÓÚ¶Ñ´óСÐÞ¸ÄËùÐèÒªµÄ LDR_CNTRL ÉèÖã¬ÊÇһЩֵµÃ×¢ÒâµÄÀýÍ⣩£¬ÒòΪ Java Æô¶¯³ÌÐò»á×Ô¼ºÉèÖû·¾³¡£µ«ÊÇ£¬Èç¹ûÓ¦ÓóÌÐòʹÓà JNI£¬Ôò±ØÐëΪ JNI ×é¼þÉèÖÃÕýÈ·µÄ»·¾³¡£Ã¿¸ö Java °æ±¾ÅäÌ×µÄ SDK Ö¸ÄÏ»ò×ÔÊöÎļþ¶¼ÌṩÁËÐèÒªÉèÖÃÎªÌØ¶¨ÖµµÄ±äÁ¿ÁÐ±í£¬ÕâÆäÖÐij¸ö±äÁ¿²»Æ¥Åä»áµ¼ÖÂÐÔÄܺͣ¨»ò£©¹¦ÄÜÎÊÌâ¡£

ÄúÏ£ÍûÓÅ»¯µÄÊÇ·ñΪ Java£¿

ËäÈ»Ñо¿¸÷¸ö¼¼Çɲ¢µ÷Õû Java Ó¦ÓóÌÐò»·¾³ÊǸö²»´íµÄÖ÷Ò⣬µ«ÊÇÖ»ÓÐÔÚÏû³ýÆäËûÆ¿¾±Ö®ºó²ÅÄÜ¿´µ½ÐÔÄÜÓ°Ïì¡£ÀýÈ磬Èç¹û Java ûÓгöÏÖÔÚÏûºÄÄÚ´æ×î¶àµÄǰ 5 ¸ö½ø³ÌÖУ¬Èç¹ûϵͳÉÏµÄÆäËû½ø³ÌµÄ CPU ʹÓÃÂʱ£³ÖÔÚ 100%£¬Äú¶Ô Java ×ö³öµÄ¸ü¸ÄºÜ¿ÉÄܲ»»áÆð×÷Óá£

ËüÄÜÔËÐеøü¿ìÂð£¿

ÐÔÄÜ Õâ¸ö´ë´ÊÊÇ¶à·½ÃæµÄ£¬Ã¿¸ö½ÇÂä¶¼ÐèÒª×ö³öȨºâ¾ö²ß¡£Òª´ÓÈκδËÀà¾ö²ßÖÐÅųý²Â²â³É·Ö£¬±ØÐë³ä·ÖÁ˽âÔ¤ÆÚÐÐΪ£¬´Ó¶øÎªÄúÌṩ֧³Ö¡£Äú»¹±ØÐëÓµÓÐÈÎÓÉ×Ô¼ºÖ§ÅäµÄÁ¼ºÃ¶¨ÒåµÄ»úÖÆÀ´²â¶¨Ëù×öµÄÈκθü¸ÄµÄÓ°Ïì¡£ÎÞÂÛÓÅ»¯¹¤×÷µÄ¹æÄ£ÈçºÎ£¬ÕâÀïÃèÊöµÄ²½Öè¶¼½«Ê¹ÓÅ»¯¹¤×÷¸ü¼Ó¸ßЧ¡£

Á˽âÄúµÄÓ¦ÓóÌÐòÌØÕ÷

ÔÚ¿ªÊ¼ÓÅ»¯Ó¦ÓóÌÐò֮ǰ£¬±ØÐëÁ˽âÓ¦ÓóÌÐòÔ¤ÆÚ½«ÈçºÎ¹¤×÷¡£³ýÁËÖîÈç¿Í»§»ú-·þÎñÆ÷ÍØÆË»òͼÐÎÓû§½çÃæ£¨Graphical User Interface£¬GUI£©Ó¦ÓóÌÐòµÈ¹ãÒå·ÖÀàÒÔÍ⣬Äú»¹Ó¦¸ÃÁ˽âÓ¦ÓóÌÐò´úÂëÔÚÄÚ²¿ÊÇÈçºÎ¹¤×÷ÒÔʵÏÖÆä³¢ÊÔÍê³ÉµÄÈÎÎñµÄ¡£¾ÙÀýÀ´Ëµ£¬ÎÒÃÇ¿ÉÒÔÏòÄúÑÝʾÈçºÎ¼ÆËãij´ÎÌØ¶¨ÔËÐÐÆÚ¼äʹÓÃµÄ CPU °Ù·Ö±ÈÖµ£¬µ«ÊǶԹ۲쵽µÄÊý×ֵĽâÊÍÔòÊÇÿ¸öÓ¦ÓóÌÐòËùÌØÓеġ£ÄúÓ¦¸ÃÄܹ»Çø·Ö¡°Õý³£¡±ºÍ¡°Òì³£¡±µÄ¹Û²ìÐÐΪ£¬ÒÔ±ã¾ö¶¨ÒªÓÅ»¯Ê²Ã´¶ÔÏó¡£

Çë×¢Ò⣬Äú²»ÐèÒª·ÃÎÊ Java Ô´´úÂë¼´¿ÉÖ´ÐÐÕâЩÎĵµÖÐÃèÊöµÄ´ó¶àÊýÓÅ»¯¡£Õâ²¢²»Òâζ×ÅÄúÓ¦¸Ã½«Ó¦ÓóÌÐòÊÓΪºÚºÐ¡£ÄúµÄÓ¦ÓóÌÐòÊÇÉè¼ÆÎª¿ìËÙÍê³É¹¤×÷²¢Í˳ö£¬»¹ÊǼÌÐøÔËÐкܳ¤Ò»¶Îʱ¼ä£¨ÀýÈç×÷Ϊ·þÎñÆ÷£©£¿ËüÊÇÔÚÆô¶¯ÆÚ¼ä´óÁ¿µØ·ÖÅäÄڴ棬»¹ÊÇÔÚÆô¶¯Ê±½öÕ¼ÓÃÉÙÁ¿ÄÚ´æ¿Õ¼ä£¿ËüÊÇ·ñÖ´ÐдóÁ¿µÄ»ØÊÕ£¬»òÕßËüÊÇ·ñÕ¼ÓÐÒÑ·ÖÅäµÄ¶ÔÏó£¿ÖîÈç´ËÀàµÄÎÊÌ⽫¾ö¶¨ÄúµÄÓÅ»¯¹¤×÷¡£

Ñ¡ÔñÓÅÐãµÄ²âÊÔÌ×¼þ

ÎÒÃÇÇ¿ÁÒ½¨Òé×¼±¸Ä³ÖÖ·½·¨À´Á¿»¯ÄúÒÑʵÏÖµÄÊÕÒæ¡£Ê¹ÓÃÕâÆäÖÐÈκι¤¾ßµÄÏȾöÌõ¼þÊÇ´æÔÚÒ»¸ö¿ÉÖØ¸´¡¢¿ÉÑéÖ¤ºÍ¿É¿¿µÄ²âÊÔÌ×¼þ£¬´ËÌ×¼þÔÊÐíÄú¼ì²é¾¡¿ÉÄܶàµÄÓ¦ÓóÌÐò¹¦ÄÜ¡£¼Çס£¬ÔÚijЩÇé¿öÏ£¬µ÷ÕûÔËÐÐʱÐÐΪµÄÒ»¸ö·½Ãæ¿ÉÄÜ»á¶ÔÁíÒ»²¿·ÖÔì³É¸ºÃæÓ°Ïì¡£Ö»ÓÐÓÅÐãµÄ²âÊÔÌ×¼þ²ÅʹÄúÄܹ»Á˽âÔËÐÐʱÐÔÄܺÍÄÚ´æÕ¼Óÿռ䣨¾ÙÀý¶øÑÔ£©Ö®¼äµÄȨºâ¡£

½¨Á¢»ù×¼

ÔÚ¶Ôϵͳ×ö³öÈκθü¸Ä֮ǰ£¬Ó¦¸Ã»¨Ê±¼ä½¨Á¢Çå³þºÍÃ÷È·µÄ·½·¨À´²â¶¨Ëù×öµÄÈκθü¸ÄµÄЧ¹û¡£´Ë·½·¨¿ÉÒÔÏñʹÓá°time¡±ÃüÁîÒ»Ñù¼òµ¥£¬»òÕ߸ü¼Ó¾«Ï¸£¬ÀýÈçʹÓÃÄ£Äâһǧ¸öÓû§µÄ½Å±¾À´²âÁ¿ÏìӦʱ¼ä¡£ÎÞÂÛÊÇÄÄÖÖ·½·¨£¬ÓÃÓڲⶨÐÔÄܵ÷ÕûЧ¹ûµÄ¹¤×÷¸ºÔض¼Ó¦¸Ã×ã¹»¶àÑù»¯£¬ÒÔ¼ì²é¾¡¿ÉÄܶàµÄ²»Í¬³¡¾°¡£³ýÁËÈκÎÀàÐ͵ÄÍⲿ¶ÈÁ¿Ö®Í⣬ÎÒÃǽ¨ÒéʹÓà AIX ÐÔÄÜ PMR Êý¾ÝÊÕ¼¯¹¤¾ß (PerfPMR)¡£

PerfPMR ¹¤¾ßʵ¼ÊÉÏÊÇ AIX ºÍÆäËû·þÎñÍŶÓʹÓõÄÒ»¸öÊý¾ÝÊÕ¼¯¹¤¾ß¡£Ëü´´½¨Ö¸¶¨Ê±¼ä¶ÎÄÚµÄϵͳ¿ìÕÕ£¬´Ó¶øÌṩϵͳÔÚ¸Ãʱ¼ä¶ÎÄÚ¡°×ö¡±Ê²Ã´µÄÇå³þָʾ¡£Óëµ¥¶ÀÔËÐÐÿ¸ö AIX ¹¤¾ß²»Í¬£¬Äú¿ÉÒÔÖ±½ÓÒªÇó PerfPMR ΪÄúÔËÐÐÄÇЩ¹¤¾ß¡£ÓÉÓÚ´´½¨ÕâЩ¿ìÕյķ½·¨¾­¹ýÁËÁ¼ºÃµÄ¶¨Ò壬Äú¿ÉÒÔÔÚÓÅ»¯ÖÜÆÚÖеIJ»Í¬Ê±µã´´½¨¶à¸ö¿ìÕÕ£¬ÒÔ¸ú×ÙÓÅ»¯½ø¶È¡£Çë×¢Ò⣬ÎÒÃÇÔÚ±¾ÏµÁÐÖÐÌṩÁËÌØ¶¨¹¤¾ß¶ø²»ÊÇ PerfPMR µÄʾÀý¡£

ÓÃÓÚÍê³ÉÓÅ»¯µÄ¹¤¾ß

´æÔÚÒ»×é·á¸»µÄ¹¤¾ß¿ÉÓÃÓÚ¼àÊÓ AIX ϵͳµÄËùÓз½Ãæ¡£±í 1 ÌṩÁ˸÷¸ö¹¤¾ßµÄ¼òÊö¡£ÕâЩ¹¤¾ß¿ÉÓÃÓÚ½ö¼àÊÓµ¥¸ö½ø³Ì»ò¼àÊÓÕû¸öϵͳ¡£AIX 5L Performance Tools Handbook ºÍ Understanding IBM eServer pSeries Performance and Sizing ¼°Æä²Î¿¼×ÊÁÏÊÇÁ˽âÏÂÃæÌáµ½µÄ¸÷¸ö¹¤¾ßµÄºÜºÃÆðµã¡£

±í 1£ºAIX ÉϵÄϵͳ¼àÊÓ¹¤¾ß

ºóÐøµÄÎÄÕ½«¶ÔÕâÆäÖÐÿ¸ö¹¤¾ß½øÐмòÒª½éÉÜ¡£»¹ÓÐһЩ¹¤¾ßÎÞ·¨¹éÈëij¸öÌØ¶¨Àà±ð£¬ÏÂÃæ½«¶ÔËüÃǽøÐмòÒªµÄÌÖÂÛ¡£

topas

topas ÊÇÒ»¸öÓÐÓõÄͼÐνçÃæ£¬¿ÉÒÔΪÄúÌṩϵͳÉÏÕýÔÚ·¢ÉúµÄÊÂÇéµÄ¼´Ê±½á¹û¡£µ±Äú²»´øÈκÎÃüÁîÐвÎÊýÔËÐд˹¤¾ßʱ£¬ÆÁÄ»½«ÏÔʾÈçÏÂÄÚÈÝ£º

Topas Monitor for host:    aix4prt              EVENTS/QUEUES    FILE/TTY

Mon Apr 16 16:16:50 2001 Interval: 2 Cswitch 5984 Readch 4864

Syscall 15776 Writech 34280

Kernel 63.1 |################## | Reads 8 Rawin 0

User 36.8 |########## | Writes 2469 Ttyout 0

Wait 0.0 | | Forks 0 Igets 0

Idle 0.0 | | Execs 0 Namei 4

Runqueue 11.5 Dirblk 0

Network KBPS I-Pack O-Pack KB-In KB-Out Waitqueue 0.0

lo0 213.9 2154.2 2153.7 107.0 106.9

tr0 34.7 16.9 34.4 0.9 33.8 PAGING MEMORY

Faults 3862 Real,MB 1023

Disk Busy% KBPS TPS KB-Read KB-Writ Steals 1580 % Comp 27.0

hdisk0 0.0 0.0 0.0 0.0 0.0 PgspIn 0 % Noncomp 73.9

PgspOut 0 % Client 0.5

Name PID CPU% PgSp Owner PageIn 0

java 16684 83.6 35.1 root PageOut 0 PAGING SPACE

java 12192 12.7 86.2 root Sios 0 Size,MB 512

lrud 1032 2.7 0.0 root % Used 1.2

aixterm 19502 0.5 0.7 root NFS (calls/sec) % Free 98.7

topas 6908 0.5 0.8 root ServerV2 0

ksh 18148 0.0 0.7 root ClientV2 0 Press:

gil 1806 0.0 0.0 root ServerV3 0 "h" for help

×óϲàµÄÐÅÏ¢ÏÔʾÁË×î»îÔ¾µÄ½ø³Ì£»ÕâÀJava ÏûºÄÁË 83.6% µÄ CPU¡£ÖмäµÄÓÒ²àÇøÓòÏÔʾÁË×ܵÄÎïÀíÄڴ棨ÔÚ´ËÀýÖÐΪ 1 GB£©ºÍ·ÖÒ³¿Õ¼ä (512 MB)£¬ÒÔ¼°ÕýÔÚʹÓõÄÈÝÁ¿¡£Òò´ËÄú¿ÉÒÔÔÚµ¥¸öÆÁÄ»ÖлñµÃÓйØÏµÍ³ÕýÔÚ×öʲôµÄÇå³þ¸Å¿ö£¬È»ºóÄú¿ÉÒÔ»ùÓÚÆäÖÐÏÔʾµÄÐÅϢѡÔñ¸÷¸öÒª¼¯Öеķ½Ãæ¡£

trace

trace ²¶»ñ´øÊ±¼ä´ÁµÄϵͳʼþµÄ˳ÐòÁ÷¡£trace ÊÇÓÃÓÚ¹Û²ìϵͳºÍÓ¦ÓóÌÐòÖ´Ðеı¦¹ó¹¤¾ß¡£Ðí¶àÆäËû¹¤¾ßÌṩÁËÖîÈç CPU ºÍ I/O ÀûÓÃÂʵȳéÏóÐÅÏ¢£¬¶ø trace ¹¤¾ßÔò°ïÖúÏêÊöÁËÓйØÊ¼þÔںδ¦·¢Éú¡¢Äĸö½ø³Ì¶Ôʼþ¸ºÔð¡¢Ê¼þºÎʱ·¢ÉúÒÔ¼°ËüÃÇÈçºÎÓ°ÏìϵͳµÄÐÅÏ¢¡£Á½¸öÄܹ»´Ó trace ÌáÈ¡ÐÅÏ¢µÄºóÆÚ´¦Àí¹¤¾ßΪ utld£¨ÔÚ AIX 4 ÖУ©ºÍ curt £¨ÔÚ AIX 5 ÖУ©¡£ÕâЩ¹¤¾ßÌṩÁËÓÐ¹Ø CPU ÀûÓÃÂʺͽø³Ì/Ï̻߳µÄͳ¼ÆÐÅÏ¢¡£µÚÈý¸öºóÆÚ´¦Àí¹¤¾ßÊÇ splat£¬´Ë¹¤¾ß±íʾ¡°¼òµ¥ÐÔÄÜËø·ÖÎö¹¤¾ß¡±(Simple Performance Lock Analysis Tool)¡£´Ë¹¤¾ßÓÃÓÚ·ÖÎö¼òµ¥ËøÔÚ AIX Äں˺ÍÄÚºËÀ©Õ¹ÖеÄËø»î¶¯¡£

nmon

nmon ÊÇÒ»¸öÃâ·ÑµÄÈí¼þ¹¤¾ß£¬²¢ÌṩÐí¶àÓë topas ÏàͬµÄÐÅÏ¢£¬²»¹ýÊǽ«ÐÅÏ¢±£´æÎª Lotus 123 ºÍ Excel ¸ñʽµÄÎļþ¡£´Ë¹¤¾ßµÄÏÂÔØÕ¾µãΪ http://www.ibm.com/developerworks/eserver/articles/analyze_aix/¡£ËùÊÕ¼¯µÄÐÅÏ¢°üÀ¨ CPU¡¢´ÅÅÌ¡¢ÍøÂç¡¢ÊÊÅäÆ÷ͳ¼Æ¡¢Äں˼ÆÊýÆ÷¡¢ÄÚ´æºÍ¡°×îæ¡±½ø³ÌÐÅÏ¢¡£

ƽ̨ÎÞ¹ØµÄ Java ÐÔÄܼàÊÓ

Java ÐéÄâ»ú¼àÊÓ³ÌÐò½Ó¿Ú£¨Java Virtual Machine Profiling Interface£¬JVMPI£©ÊÜ IBM Java Ö§³Ö£¬²¢ÇÒ¶ÔÓÚÐÔÄܼàÊÓµÄËùÓз½Ãæ¶¼·Ç³£ÓÐÓá£Äú¿ÉÒÔʹÓõÚÈý·½¸ÅÒª»òʹÓà IBM Java ¸ÅÒª½Ó¿Ú£¬ÒÔÖ´ÐÐ Java ÐÔÄܼàÊÓ¡£Óйظü¶àÏêϸÐÅÏ¢£¬Çë²ÎÔÄλÓÚ IBM developer kits - diagnosis documentation µÄ Java Diagnostics Guide ÖÐµÄ -Xhprof¡£ÓйØÌض¨ÓÚ AIX ÉϵĸÅÒª·ÖÎöµÄÐÅÏ¢£¬Äú»¹Ó¦¸Ã²ÎÔÄλÓÚ IBM developer kits for AIX, Java technology edition µÄ×ÔÊöÎļþ/SDK Ö¸ÄÏ¡£ÀýÈ磬³ý·ÇÄúÉèÖÃÁË»·¾³±äÁ¿ AIXTHREAD_ENRUSG=ON£¬·ñÔòÔÚ¸ÅÒª·ÖÎöÆÚ¼ä²»»á±¨¸æÏß³Ì CPU ʱ¼ä¡£ËùÓÐ Java °æ±¾µÄ×ÔÊöÎļþ/SDK Ö¸Ä϶¼¶Ô´Ë×÷ÁËÎĵµ¼Ç¼¡£

Ò²Ðí×î³£ÓÃÀàÐ굀 Java ÐÔÄܼàÊÓÊÇ verbosegc ÈÕÖ¾¡£ÓйØÈçºÎ·ÖÎö verbosegc ÈÕÖ¾µÄ¸ü¶àÏêϸÐÅÏ¢¿ÉÒÔÔÚ Fine-tuning Java garbage collection performance ÖÐÕÒµ½¡£ËäÈ»ÆôÓà verbosegc ¸ú×ÙµÄÈ·»áµ¼Ö½ÏСµÄÐÔÄÜÓ°Ï죬µ«ÊÇËù»ñµÃµÄÓÃÓÚʺó·ÖÎö¼ì²éµÄÓŵãÎÞÒÉ»áʤ¹ýÐÔÄÜËðʧ¡£Fine-tuning Java garbage collection performance Ìáµ½ÁËÈçºÎ»ùÓÚ verbosegc Êä³öÖ´ÐÐÓÅ»¯¡£

AIX ÉϵÄȱʡ Java ÐÐΪ

±¾²¿·ÖÃèÊö¸÷¸öÉèÖõĵ±Ç°ÏÖ×´¡£ÕâЩÉèÖÃÔÚ´ó¶àÊýÇé¿öϽ«»áËæÊ±¼äÍÆÒÆ¶ø¸ü¸Ä¡£SDK µÄÅäÌ××ÔÊöÎļþºÍ SDK Ö¸ÄÏʼÖÕÊÇ´ËÀàÉèÖõÄ×îвο¼×ÊÁÏ¡£

Java ʹÓÃÁËÏÂÁл·¾³ÉèÖãº

AIXTHREAD_SCOPE=S

´ËÉèÖÃÓÃÓÚÈ·±£Ã¿¸ö Java Ïß³ÌÒ»¶ÔÒ»µØÓ³É䵽ij¸öÄÚºËÏ̡߳£¿ÉÒÔÔÚ¶àÖÖ³¡ºÏ¿´µ½´Ë·½·¨µÄÓŵ㣻һ¸öÏÔÖøµÄʾÀý¾ÍÊÇ Java ÈçºÎÀûÓö¯Ì¬Âß¼­·ÖÇø£¨Dynamic Logical Partitioning£¬DLPAR£©£»µ±½«Ð嵀 CPU Ìí¼Óµ½¸Ã·ÖÇøÊ±£¬¿ÉÒÔ½«Ä³¸ö Java Ï̵߳÷¶Èµ½¸Ã CPU ÉÏ¡£ÔÚÕý³£Çé¿öϲ»Ó¦¸Ã¸ü¸Ä´ËÉèÖá£

AIXTHREAD_COND_DEBUG¡¢AIXTHREAD_MUTEX_DEBUG ºÍ AIXTHREAD_RWLOCK_DEBUG

ÕâЩ±êÖ¾ÓÃÓÚÄں˵÷ÊÔÄ¿µÄ¡£ÕâЩ±êÖ¾ÓÐʱ¿ÉÄÜÉèÖÃΪ OFF¡£Èç¹û²»ÊÇÕâÑù£¬Ôò¹Ø±ÕËüÃÇ»áÌṩºÜºÃµÄÐÔÄÜÌáÉý¡£

LDR_CNTRL=MAXDATA=0x80000000

ÕâÊÇ Java 1.3.1 ÉϵÄȱʡÉèÖ㬲¢¿ØÖÆÈçºÎÔÊÐí´óÐÍ Java ¶ÑÔö³¤¡£Java 1.4 »ùÓÚËùÇëÇóµÄ¶ÑÀ´¾ö¶¨ LDR_CNTRL ÉèÖá£ÓйØÈçºÎ²Ù×÷´Ë±äÁ¿µÄÏêϸÐÅÏ¢£¬Çë²ÎÔÄ Getting more memory in AIX for your Java applications¡£

JAVA_COMPILER

´ËÉèÖþö¶¨½«ÒªÊ¹ÓÃµÄ Just-In-Time ±àÒëÆ÷¡£È±Ê¡ÉèÖÃΪ jitc£¬²¢Ö¸Ïò IBM JIT ±àÒëÆ÷¡£¿ÉÒÔ½«Æä¸ü¸ÄΪ jitcg£¬±íʾ JIT ±àÒëÆ÷µÄµ÷ÊÔ°æ±¾£»»òÕ߸ü¸ÄΪ NONE£¬±íʾ¹Ø±Õ JIT ±àÒëÆ÷£¨ÕâÑù×öÔÚ´ó¶àÊýÇé¿ö϶ÔÐÔÄÜÀ´Ëµ¾ø¶ÔÊÇ×îÔã¸âµÄ£©¡£

IBM_MIXED_MODE_THRESHOLD

´ËÉèÖþö¶¨ JVM JIT ÔÚ±àÒëij¸ö·½·¨Ç°¸Ã·½·¨µÄµ÷ÓôÎÊý¡£´ËÉèÖÃÊÓÆ½Ì¨ºÍ°æ±¾¶øÒ죻ÀýÈ磬¶ÔÓÚ AIX É쵀 Java 1.3.1£¬´ËÉèÖÃΪ 600¡£

Çë×¢Ò⣬ÉÏÊöÈκÎÒ»¸öÉèÖö¼²»»á¸²¸ÇÏÖÓеÄÉèÖá£ÀýÈ磬Èç¹û½« LDR_CNTRL=MAXDATA ¸ü¸ÄΪij¸öÆäËûÖµ£¬Ôò»áʹÓÃÄúÖ¸¶¨µÄÖµ¶ø²»ÊÇʹÓÃÉÏÃæÌáµ½µÄȱʡֵ¡£

IBM Java SDK µÄÅäÌ××ÔÊöÎļþ/SDK Ö¸ÄϽâÊÍÁËÈκΠJava ±¾»ú½Ó¿Ú£¨Java Native Interface£¬JNI£©¿â¶¼±ØÐë¾ßÓеĻ·¾³ÉèÖá£Èç¹ûÐÞ¸ÄÁ˸ÃÁбíÖÐÖ¸¶¨µÄÈκλ·¾³ÉèÖã¬Äú±ØÐëÈ·±£Ò²Ê¹ÓÃÏàÓ¦µÄÉèÖÃÀ´Éú³É JNI ¿â¡£

×ܽá

±¾ÎĽéÉÜÁËһЩ»ù±¾²½Ö裬¿É×÷Ϊ¿ªÊ¼ÓÅ»¯¹¤×÷µÄÇåµ¥¡£½ÓÏÂÀ´µÄÈý¸ö²¿·Ö½«Ñо¿ CPU¡¢ÄÚ´æ¡¢ÍøÂçºÍ´ÅÅÌ I/O ÓÅ»¯¡£

×î´ó»¯ AIX É쵀 Java ÐÔÄÜ£¬µÚ 2 ²¿·Ö: ËÙ¶ÈÐèÇó

ÒýÑÔ

ÕâÊÇÓÉÎ岿·Ö×é³ÉµÄÓÐ¹Ø AIX É쵀 Java ÐÔÄÜÓÅ»¯µÄϵÁÐÖÐµÄµÚ 2 ²¿·Ö¡£Ç¿ÁÒ½¨ÒéÄúÔÚ½øÒ»²½¼ÌÐøÖ®Ç°ÔĶÁ±¾ÏµÁÐÖÐµÄµÚ 1 ²¿·Ö£¨Èç¹ûÄú»¹Ã»ÓÐÕâÑù×öµÄ»°£©¡£

±¾ÎÄÑо¿ÓÃÓÚ×î´ó»¯ÏµÍ³Ö´ÐÐËٶȺÍÍÌÍÂÁ¿µÄ·½·¨¡£¶ÔÓÚÉæ¼°Óû§½çÃæµÄ³ÌÐò£¬ÎÒÃÇ»¹½«Ñо¿ÈçºÎÈ·±£ÏµÍ³µÄÏìÓ¦ÄÜÁ¦±£³ÖÔڿɽÓÊܵļ¶±ðÄÚ¡£

ÄúÓ¦¸Ã²é¿´±¾ÎĵÚÒ»²¿·Ö£¬ÒÔÁ˽âÊÊÓÃÓÚ´ó¶àÊýÇé¿öµÄÒ»°ã¼¼ÇÉ¡£ÎÒÃÇ»¹ÌṩÁ˶ÔÓÚ CPU Æ¿¾±¼ì²âºÍÑо¿·Ç³£ÓÐÓõŤ¾ßµÄ¿ìËٲο¼¡£ÏÂÒ»²¿·Ö½«ÃèÊö¸÷ÖÖÀàÐ͵ÄÓ¦ÓóÌÐòÒÔ¼°ÈçºÎÓÅ»¯ËüÃÇ¡£´ËÌÖÂÛ½«ÀûÓÃÄúµÄÓ¦ÓóÌÐò֪ʶÀ´¾ö¶¨ÄÄЩ¼¼ÇÉ×îÊʺÏÄú¡£µÚÈý²¿·Ö½«ÃèÊö¸÷ÖÖ¼¼ÇÉ¡£±¾ÎÄÔÚ½áÊøÊ±½«ÌÖÂÛһϱ¾ÏµÁÐÖеÄÏÂһƪÎÄÕ¡£

CPU Æ¿¾±

±¾ÎĽ«ÌÖÂÛÈçºÎʹÄúµÄÓ¦ÓóÌÐò¸ü¿ì»òÏìÓ¦ÄÜÁ¦¸ü¸ß£¬»òÕßͬʱʵÏÖÕâÁ½¸öÄ¿µÄ¡£

ͨ¹ý½«Êµ¼ÊÓëÔ¤ÆÚµÄÐÔÄÜÊý×Ö½øÐбȽϣ¬Äúͨ³£¿ÉÒÔÈ·¶¨Ó¦ÓóÌÐòÊÇ·ñÔËÐеÃÌ«Âý¡£»òÕߣ¬Ó¦ÓóÌÐòµÄÓû§½çÃæ¿ÉÄܶ¨ÆÚµØ¶¨×¡£¬»òÕßµ½Ó¦ÓóÌÐòµÄÍøÂçÁ¬½Ó¿ÉÄÜÓÉÓÚÓ¦ÓóÌÐòæ¶ø³¬Ê±¡£Ê¹Óà topas »ò tprof ½«ÏÔʾ CPU ÀûÓÃÂÊÊÇ·ñ´ïµ½ 100%¡£ÄúÐèÒªÄܹ»Çø·ÖÒì³£»î¶¯ºÍ´óСÉèÖò»µ±µÄÇé¿ö£»Èç¹ûÄúÐèÒª¸ü¿ìµÄ CPU »ò¸ü¸ß¹æ¸ñµÄ¼ÆËã»ú£¬ÔòûÓжàÉÙµ÷Õû¿Õ¼ä¿ÉÒÔÖ´ÐС£

×÷ΪµÚÒ»²½£¬ÄúÓ¦¸ÃʹÓà topas »òÆäËûÀàËÆ¹¤¾ßÀ´È·¶¨ Java ÊÇ·ñΪ×î´óµÄ CPU Óû§¡£Èç¹û¿´µ½ Java ´¦ÔÚ CPU Óû§ÁбíÖеĽϵÍλÖã¬ÔòÖ´ÐÐÌØ¶¨ÓÚ CPU µÄÓÅ»¯¿ÉÄÜûÓжà´óÓô¦¡£ÎÒÃÇÔÚµÚ 1 ²¿·ÖÖÐÌṩÁË topas µÄ¼òµ¥¸ÅÊö¡£

ÀíÏëµÄÇé¿öÊÇÓ¦ÓóÌÐòµÄ CPU ÀûÓÃÂÊ´ïµ½»ò¸ßÓÚ 90%¡£Èç¹ûÄúÒѾ­´ïµ½¸Ã½×¶Î²¢ÇÒÈÔÈ»¶ÔÍÌÍÂÁ¿²»ÂúÒ⣬ҲÐíÊÇÄúʹÓõļÆËã»úµÄ¹æ¸ñ²»¹»¸ß¡£Èç¹ûʹÓà DLPAR£¬¿ÉÒÔ³¢ÊÔÌí¼ÓÁíÍâÒ»¸ö»òÁ½¸ö CPU ²¢²âÁ¿²îÒì¡£

vmstat

vmstat ¿ÉÓÃÓÚÌṩÓйØÏµÍ³µÄ¶àÖÖͳ¼ÆÐÅÏ¢¡£¶ÔÓÚÌØ¶¨ÓÚ CPU µÄ¹¤×÷£¬¿ÉÒÔ³¢ÊÔÒÔÏÂÃüÁ

vmstat -t 1 3

´ËÃüÁîÖ´ÐÐ 3 ´Î²ÉÑù£¬Ã¿´ÎÏà¸ô 1 ÃëÖÓ£¬²¢´øÓÐʱ¼ä´Á (-t)¡£Äúµ±È»¿ÉÒÔËæÐÄËùÓûµØ¸ü¸Ä²ÎÊý¡£ÏÂÃæÏÔʾÁË´ËÃüÁîµÄÊä³ö£º

kthr     memory             page              faults        cpu        time

----- ----------- ------------------------ ------------ ----------- --------

r b avm fre re pi po fr sr cy in sy cs us sy id wa hr mi se

0 0 45483 221 0 0 0 0 1 0 224 326 362 24 7 69 0 15:10:22

0 0 45483 220 0 0 0 0 0 0 159 83 53 1 1 98 0 15:10:23

2 0 45483 220 0 0 0 0 0 0 145 115 46 0 9 90 1 15:10:24

´ËÊä³öÖÐÐèÒª¹Û²ìµÄһЩÄÚÈݰüÀ¨£º

ÁÐ r£¨ÔËÐжÓÁУ©ºÍ b£¨±»×èÈû£©¿ªÊ¼ÉÏÉý£¬ÓÈÆäÊǸßÓÚ 10¡£Õâͨ³£ÊÇÓÐÌ«¶à½ø³ÌÔÚÕùÓà CPU µÄ¼£Ïó¡£

Èç¹û cs£¨ÉÏÏÂÎÄÇл»£©Óë½ø³ÌÊýÁ¿Ïà±ÈÉÏÉýµÃ·Ç³£¸ß£¬Äú¿ÉÄÜÐèҪʹÓà vmtune À´ÓÅ»¯ÏµÍ³¡£´ËÖ÷Ìⳬ³öÁ˱¾ÏµÁеķ¶Î§¡£

ÔÚ cpu ²¿·Ö£¬us£¨Óû§Ê±¼ä£©Ö¸Ê¾ÔÚ³ÌÐòÖÐËù»¨µÄʱ¼ä¡£¼ÙÉè Java ÔÚ tprof ÖÐλÓÚÁÐ±í¶¥²¿£¬Äú¿ÉÄÜÐèÒªÓÅ»¯ Java Ó¦ÓóÌÐò¡£

ÔÚ cpu ²¿·Ö£¬Èç¹û sys£¨ÏµÍ³Ê±¼ä£©¸ßÓÚÔ¤ÆÚ£¬²¢ÇÒÄúÈÔÈ»»¹Ê£ÓÐ id£¨¿ÕÏУ©Ê±¼ä£¬Õâ¿ÉÄܱíÊ¾ËøÕùÓ᣼ì²é tprof ÒÔÁ˽âÄÚºËʱ¼äÖÐÓëËøÏà¹ØµÄµ÷Óá£Äú¿ÉÄÜÏ£Íû³¢ÊÔÔËÐÐ JVM µÄ¶à¸öʵÀý¡£»¹¿ÉÒÔÔÚ javacore ÎļþÖвéÕÒËÀËø¡£

ÔÚ cpu ²¿·Ö£¬Èç¹û wa£¨I/O µÈ´ý£©·Ç³£¸ß£¬Õâ¿ÉÄÜָʾ´ÅÅÌÆ¿¾±£¬²¢ÇÒÄúÓ¦¸ÃʹÓà iostat ºÍÆäËû¹¤¾ßÀ´²é¿´´ÅÅÌʹÓÃÇé¿ö¡£

pi¡¢po£¨Ò³Ãæµ÷Èë/µ÷³ö£©ÁÐÖеÄÖµ²»ÎªÁã¿ÉÄÜָʾϵͳÔÚʹÓ÷ÖÒ³£¬Äú¿ÉÄÜÐèÒª¸ü¶àµÄÄÚ´æ¡£Ò²ÐíÄúÉèÖõĶÑÕ»´óС¶ÔÓÚijЩ JVM ʵÀýÀ´Ëµ¿ÉÄÜÌ«¸ßÁË¡£Õ⻹¿ÉÄÜÒâζ×ÅÄú·ÖÅäµÄ¶Ñ´óÓÚϵͳÉϵÄÄÚ´æÁ¿¡£µ±È»£¬Äú¿ÉÄÜ»¹ÓÐÆäËûʹÓÃÄÚ´æµÄÓ¦ÓóÌÐò£¬»òÕßÎļþÒ³¿ÉÄÜÕ¼¾ÝÁËÌ«¶àµÄÄÚ´æ¡£

iostat

¿ÉÒÔʹÓà iostat »ñÈ¡ vmstat ËùÌṩµÄÏàͬ CPU ÐÅÏ¢£¬´ËÍ⻹¿ÉÒÔ»ñÈ¡´ÅÅÌ I/O µÈÐÅÏ¢¡£

ps

ps ÊÇÒ»¸ö·Ç³£Áé»îµÄ¹¤¾ß£¬ÓÃÓÚÈ·¶¨ÕýÔÚϵͳÉÏÔËÐеijÌÐòºÍÄÇЩ³ÌÐòÕýÔÚʹÓõÄ×ÊÔ´¡£ËüÏÔʾÓйØÏµÍ³ÉϵĽø³ÌµÄͳ¼ÆºÍ״̬ÐÅÏ¢£¬ÀýÈç½ø³Ì»òÏß³Ì ID¡¢I/O »î¶¯¡¢CPU ºÍÄÚ´æÊ¹Óá£

ps -ef | grep java

´ËÃüÁÔÊÐíÄúÈ·¶¨ËùÓл Java ½ø³ÌµÄ ID¡£Ðí¶àÆäËûÃüÁîÒªÇóÄúÊ×ÏÈÈ·¶¨½ø³Ì ID£»Ê¹Óà -ef ½«Í¨¹ýÏÔʾÆäÃüÁîÐвÎÊýÀ´°ïÖúÄúÇø·Ö¶à¸ö Java ½ø³Ì¡£

ps -p PID -m -o THREAD

ʹÓøÐÐËȤµÄ Java ½ø³ÌµÄ PID£¨½ø³Ì ID£©£¬Äú¿ÉÒÔ¼ì²éÒÑ´´½¨Á˶àÉÙ¸öÏ̡߳£Õâ¶ÔÓÚÏ£Íû¼àÊÓij¸ö´óÐÍÓ¦ÓóÌÐòµÄÇé¿öÓÈÆä·Ç³£ÓÐÓã»Äú¿ÉÒÔͨ¹ý wc -l ¶ÔÉÏÊöÊä³ö½øÐйܵÀ´«Ê䣬ÒÔ»ñµÃ JVM ´´½¨µÄÏß³ÌÊýÁ¿¡£Õâ¿ÉÒÔÔÚÒ»¸öÑ­»·ÖнøÐУ¬ÒÔ±ãÄúÄܹ»¼ì²âijЩÏß³ÌÊÇ·ñÔÚ²»Ó¦¸ÃÆô¶¯»òÖÕÖ¹µÄʱºòÆô¶¯»òÖÕÖ¹ÁË¡£

ps au[x]

¶ÔÓÚ»ñÈ¡ %CPU ºÍ %Memory Êý¾Ý£¨°´Ê¹ÓÃÁ¿×î¶àµÄÓû§ÅÅÐò£©·Ç³£ÓÐÓá£Õâ¶ÔÓÚ¿ìËÙ¶¨Î»ÏµÍ³ÉÏµÄÆ¿¾±·Ç³£ÓÐÓá£

ps v[g]

ÏÔʾÐéÄâÄÚ´æÊ¹ÓÃÇé¿ö¡£Çë×¢Ò⣬¼àÊÓ±¾»úºÍ Java ¶ÑµÄÊ×Ñ¡·½·¨ÊÇʹÓà svmon¡£±¾ÏµÁÐµÄµÚ 3 ²¿·Ö½«¶Ô´Ë½øÐÐÏêϸ²ûÊö¡£

ps eww PID

ʹÓà PID£¨½ø³Ì ID£©£¬Äú¿ÉÒÔ»ñÈ¡½ø³ÌµÄ»·¾³ÉèÖõÄÊä³ö¡£ÀýÈ磬Õ⽫ÏÔʾËùÖ´ÐÐµÄ Java µÄÍêÕûÎļþ·¾¶£¬¶øÆÕͨµÄ ps Çåµ¥ÖпÉÄܲ»»áÏÔʾ´ËÐÅÏ¢¡£Çë×¢Ò⣬ΪÁË»ñµÃÍêÕûµÄ»·¾³Çåµ¥£¬½¨ÒéÄú¸ÄΪ´´½¨Ò»¸ö javadump Îļþ£¨ÓйØÏêϸÐÅÏ¢£¬Çë²Î¼û IBM developer kits - diagnosis documentation£©¡£

sar

sar -u -P ALL x y ¿ÉÓÃÓÚ¼ì²é¶à¸ö CPU Ö®¼äµÄ CPU ʹÓÃÆ½ºâ¡£Èç¹ûʹÓÃÇé¿ö·Ö²¼²»Æ½ºâ£¬Õâ¿ÉÄÜָʾӦÓóÌÐòûÓÐÏ̻߳¯£¬²¢ÇÒÄú¿ÉÄÜÐèÒª´´½¨¸ÃÓ¦ÓóÌÐòµÄ¶à¸öʵÀý¡£ÏÂÃæµÄʾÀýÔÚÒ»¸ö´ïµ½ 80% ÀûÓÃÂʵÄË«´¦ÀíÆ÷ϵͳÉÏ£¬Ïà¸ôÎåÃëÖÓ½øÐÐÁËÁ½´Î²ÉÑù¡£

# sar -u -P ALL 5 2

AIX aix4prt 0 5 000544144C00 02/09/01

15:29:32 cpu %usr %sys %wio %idle

15:29:37 0 34 46 0 20

1 32 47 0 21

- 33 47 0 20

15:29:42 0 31 48 0 21

1 35 42 0 22

- 33 45 0 22

Average 0 32 47 0 20

1 34 45 0 22

- 33 46 0 21

Äú»¹¿ÉÄÜ¿´µ½ËùÓÐ CPU ¶¼´ïµ½ 100% ÀûÓÃÂÊ£¬»òÕßÖ»Êǵ¥¸ö CPU ´ïµ½ 100% µÄÀûÓÃÂÊ£¨µ± JVM ÔÚÖ´ÐÐѹËõµÄʱºò£©¡£

tprof

tprof ÊÇ AIX ÒÅÁô¹¤¾ßÖ®Ò»£¬¿ÉÒÔÌṩÿ¸ö AIX ½ø³Ì ID ºÍÃû³ÆµÄÏêϸ CPU ʹÓÃÇé¿ö·ÖÎö¡£AIX 5.2 ¶ÔÆä½øÐÐÁËÍêÈ«µÄ¸Äд£¬ÏÂÃæµÄʾÀýʹÓÃÁË AIX 5.1 Óï·¨¡£ÄúÓ¦¸Ã²ÎÔÄ AIX 5.2 Performance Tools update:Part 3£¬ÒÔÁ˽âеÄÓï·¨¡£

µ÷ÓôËÃüÁîµÄ×î¼òµ¥·½·¨ÊÇʹÓãº

# tprof -kse -x "sleep 10"

Ê®ÃëÖӺ󣬽«Éú³ÉÒ»¸öÐÂÎļþ __prof.all£¬ÆäÖаüº¬ÓйØÊ²Ã´ÃüÁîÕýÔÚʹÓÃϵͳÉ쵀 CPU µÄÐÅÏ¢¡£ËÑË÷ FREQ£¬¸ÃÐÅÏ¢Ó¦¸ÃÓëÏÂÃæµÄʾÀýÀàËÆ£º

Process   FREQ  Total Kernel   User Shared  Other

======= === ===== ====== ==== ====== =====

oracle 244 10635 3515 6897 223 0

java 247 3970 617 0 2062 1291

wait 16 1515 1515 0 0 0

...

======= === ===== ====== ==== ====== =====

Total 1060 19577 7947 7252 3087 1291

´ËʾÀý±íÃ÷£¬³¬¹ý°ëÊýµÄ CPU ʱ¼ä¶¼Óë Oracle Ó¦ÓóÌÐò¹ØÁª£¬²¢ÇÒ Java ÕýÔÚʹÓôóÔ¼ 3970/19577 »ò 1/5 µÄ CPU¡£wait ͨ³£Òâζ×Å¿ÕÏÐʱ¼ä£¬µ«ÊÇÒ²¿ÉÒÔ°üÀ¨ CPU ʹÓÃÁ¿µÄ I/O µÈ´ý²¿·Ö¡£

Ҫȷ¶¨ÊÇ·ñ´æÔÚ´óÁ¿µÄËøÕùÓã¬Äú»¹Ó¦¸Ã¼ì²é KERNEL ²¿·Ö£º

Total Ticks For All Processes (KERNEL) = 7787

Subroutine Ticks % Source Address Bytes

============= ===== ==== ======== ======== ======

.unlock_enable_mem 2286 11.7 low.s 930c 1f4

.waitproc_find_run_queue 1372 7.0 ../../../../../src/bos/kernel/proc/dispatc

h.c 2a6ec 2b0

.e_block_thread 893 4.6 ../../../../../src/bos/kernel/proc/sleep2.

¶ÔÓÚ Shared Objects ²¿·Ö£¬²éÕÒ libjvm.a£¬ÌرðÊÇ gc_* »òÓëÈκΠGC ¶ÌÓMark¡¢Sweep¡¢Compact£©½Ó½üµÄÃû³Æ¡£Èç¹û·¢ÏÖ´óÁ¿µÄ´ËÀàÄÚÈÝ£¬Ôò JVM ½ø³Ì¿ÉÄÜÐèÒª GC ÓÅ»¯¡£

Äú»¹Ó¦¸Ã²éÕÒÕ¼ÓôóÁ¿ CPU ʱÖÓÖÜÆÚ°Ù·Ö±ÈµÄÖØÒª×ÓÀý³Ì¡£ÀýÈ磬ij¸ö tprof Êä³öÏÔʾ clProgramCounter2Method µÄÖµÏ൱¸ß£º

Subroutine                Ticks  %   Source   Address Bytes

============= ===== ==== ======== ======== ======

.clProgramCounter2Method 3551 14.8 /userlvl/ca131/src/jvm/sov/cl/clloadercache.c

ÔÚ¼ì²é¶à¸ö´ËÀàʾÀýÖ®ºó£¬ÎÒÃÇ·¢ÏÖɾ³ý Throwable.printStackTrace µ÷ÓÿÉÒÔ´øÀ´ÖØÒªµÄÐÔÄܸĽø¡£µÃ³öÕâ¸öÌØ¶¨·½·¨ÊÇ´Ó·ÖÎö tprof Êä³ö¿ªÊ¼µÄ¡£

ÌØ¶¨ÓÚ Java µÄ¼¼ÇÉ

ÔÚ¼¸ºõËùÓÐÇé¿öÏ£¨Çë²Î¼ûÏà¹Ø¼¼ÇÉÒÔÁ˽âÀýÍâÇé¿ö£©£¬JIT ±àÒëÆ÷¶¼±ØÐë´ò¿ª£¬ÒòΪÕâÑùµ¼ÖµÄÐÔÄܲîÒìÏ൱ÓÚÖ´ÐÐ×Ö½Ú´úÂëÓëÖ´Ðб¾»ú´úÂëµÄ²îÒì¡£JIT Äܹ»Ìṩ¸ß´ï 25 ±¶µÄ¸Ä½ø£¬Òò´ËËü¶Ô Java À´ËµÊÇÖÁ¹ØÖØÒªµÄÐÔÄÜ×é¼þ¡£

À¬»øÊÕ¼¯Ò²ÊÇÁíÒ»¸öÖÁ¹ØÖØÒªµÄ×é¼þ£¬Òò´Ë±ØÐë¸ù¾ÝÐèÒª¶ÔÆä½øÐмì²éºÍµ÷Õû¡£Çë×¢Ò⣬ËäÈ»ÆôÓà GC ¸ú×Ù£¨Ê¹Óà -verbosegc£©¾ßÓÐÇá΢µÄ¸ºÃæÓ°Ï죬µ«ÊÇÄܹ»¼àÊӺͷÖÎö¶ÑµÄÓŵãÏÔȻʤ¹ý¸ºÃæÓ°Ïì¡£ÁíÒ»ÖÖ¿¼ÂÇ·½Ê½ÔÚÓÚ£¬Á¼ºÃ×´¿öµÄ¶Ñ»á×îС»¯Í¨¹ý -verbosegc ´òÓ¡µÄÐÅÏ¢Á¿£¬Òò´Ëͨ¹ýµ÷Õû¶Ñ£¬Äú»¹¿ÉÒÔ×îС»¯Ö´Ðи½¼Ó¸ú×ٵĿªÏú¡£

»ùÓÚÌØÕ÷µÄÓÅ»¯¼¼ÇÉ

ÏÂÃæÈÃÎÒÃÇ¿´Ò»ÏµäÐÍÓ¦ÓóÌÐòµÄ²»Í¬ÌØÕ÷¡£ÄúÓ¦¸Ã¶¨Î»µ½ÓëÄúµÄÓ¦ÓóÌÐòÀàËÆµÄÐÐΪ£¨ÎÞÂÛÊÇÉè¼ÆÉϵϹÊǹ۲쵽µÄ£©£¬²¢Ó¦ÓöÔÓ¦µÄ¼¼ÇÉ¡£

Ó¦ÓóÌÐòµÄ³¤ÆÚÐÔ

IBM Java Ö¼ÔÚΪÖîÈç·þÎñÆ÷´úÂëµÈ³¤ÆÚÔËÐеÄÓ¦ÓóÌÐòÌṩ¸üºÃµÄÌØÕ÷¡£Èç¹ûÓÉÓÚijÖÖÔ­ÒòÒª³¢ÊÔÔËÐгÖÐøÊ±¼ä²»µ½ 5 ·ÖÖÓ×óÓҵIJâÊÔÓÃÀý£¬Äú¿ÉÄÜ·¢ÏÖ IBM Java Ϊ³¤ÆÚÔËÐжø×öµÄ×¼±¸»áÓ°ÏìÆô¶¯Ê±¼ä¡£Èç¹ûÓ¦ÓóÌÐòµÄ¿ìËÙÆô¶¯±È³¤ÆÚÔËÐиüÖØÒª£¬Çë²é¿´ ¼¼ÇÉ CPU001£º¿ìËÙÆô¶¯Ó¦ÓóÌÐòºÍ ¼¼ÇÉ CPU004£ºÍêȫȥµô GC¡£Èç¹û ¼¼ÇÉ CPU004£ºÍêȫȥµô GC ²»ÊÊÓÃÓÚÄú£¬¿ÉÒÔ¸ÄΪ¿¼ÂÇ ¼¼ÇÉ CPU012£º±ÜÃâ¶Ñ´óСµ÷Õû¡£ÔÚÑϸñµÄÇé¿öÏ£¬Èç¹ûÄúµÄ²âÊÔÓÃÀýÊÇÈç´ËµÄ¶Ì£¬ÒÔÖ JIT ³õʼ»¯Ò²¿ªÏúÌ«´ó£¬Äú¿ÉÄÜÏ£ÍûÔÚ¹Ø±Õ JIT µÄÇé¿öϽøÐвâÊÔ¡£Çë×¢Ò⣬ÎÒÃÇûÓн«½ûÓà JIT ×÷ΪһÏî¶ÀÁ¢µÄÐÔÄܼ¼ÇÉÌá³öÀ´£¬ÕâÊÇÒòΪ£¬ÕýÈçÔÚÉÏһƪÎÄÕÂÖÐËùÌáµ½µÄ£¬Õâ¿ÉÄÜÊÇÓ°ÏìÓ¦ÓóÌÐòÐÔÄܵÄ×îÔã¸âµÄÊÂÇé¡£

Èç¹ûÓ¦ÓóÌÐòÄܹ»³ÐÊÜÆô¶¯Ê±¼äµÄÇá΢ÑÓ³Ù£¬ÄúÓ¦¸Ã²ÎÔÄ ¼¼ÇÉ CPU003£ºÔÚµÚÒ»´Îµ÷ÓÃʱ±àÒëËùÓÐÄÚÈÝºÍ ¼¼ÇÉ CPU008£ºÊ¹ÓÃСÐͶѡ£¶ÔÓÚ¾ßÓÐÃ÷ÏԵġ°³õʼ»¯¡±ºÍ¡°ÔËÐС±½×¶ÎµÄ³¤Ê±¼äÔËÐеÄÓ¦ÓóÌÐò£¬¼¼ÇÉ CPU003£ºÔÚµÚÒ»´Îµ÷ÓÃʱ±àÒëËùÓÐÄÚÈÝÊǷdz£±ãÀûµÄ¡£

½»»¥¼¶±ð

»ùÓÚÄúµÄ´úÂëÊÇ·ñΪ¼ÆËãÃܼ¯ÐÍ£¬JVM µÄÏìÓ¦ÄÜÁ¦¿ÉÒÔ¾ßÓдӷdz£¹Ø¼üµ½²»Ïà¹ØµÄ²»Í¬ÖØÒªÐÔ¡£Èç¹ûÄúÒª³¢ÊÔÓÅ»¯µÄ JVM ÔÚÔËÐÐ GUI£¬Ôò³¤Ê±¼äµÄ GC ÔÝÍ£½«ÊDz»¿É½ÓÊܵġ£Óë´Ëͬʱ£¬Èç¹ûÄúÔÚÔËÐжà¸öÔÊÐí¸ºÔØ¹²ÏíµÄ JVM ʵÀý£¬»òÕßÈç¹ûÕýÔÚÖ´ÐÐÅú´¦ÀíģʽµÄ´¦Àí£¬Ôò³¤Ê±¼äµÄÔÝÍ£Ò²ÐíÊǿɽÓÊܵġ£

¶ÔÓÚÎÞ·¨³ÐÊܳ¤Ê±¼äÔÝÍ£µÄÓ¦ÓóÌÐò£¬Çë²Î¼û ¼¼ÇÉ CPU002£ºÊ¹Óò¢·¢ GC¡¢¼¼ÇÉ CPU004£ºÍêȫȥµô GC¡¢¼¼ÇÉ CPU007£º½ûÓÃÏÔʽµÄ System.gc() µ÷Óᢼ¼ÇÉ CPU008£ºÊ¹ÓÃСÐͶѡ¢¼¼ÇÉ CPU009£ºÏû³ý¡°±ê¼Ç¶ÑÕ»Òç³ö¡±ºÍ ¼¼ÇÉ CPU012£º±ÜÃâ¶Ñ´óСµ÷Õû¡£¼¼ÇÉ CPU004 ÔÚ´ó¶àÊýÇé¿öϽöÊÊÓÃÓÚ¶Ìʱ¼äÔËÐеÄÓ¦ÓóÌÐò¡£Çë×¢Ò⣬±ØÐ뽫¼¼ÇÉ CPU008 ÓëÓ¦ÓóÌÐòµÄÄÚ´æÌØÕ÷½áºÏÆðÀ´¿¼ÂÇ£¬ÒòΪÈç¹ûÓ¦Óò»µ±£¬¿ÉÄÜ»á´øÀ´Ïà·´µÄЧ¹û¡£

¶ÔÓÚÄܹ»³ÐÊܸü³¤Ê±¼äÔÝÍ£µÄÓ¦ÓóÌÐò£¬Ó¦¸Ã¿¼ÂÇ ¼¼ÇÉ CPU003£ºÔÚµÚÒ»´Îµ÷ÓÃʱ±àÒëËùÓÐÄÚÈÝ¡£Çë×¢Ò⣬³¤Ê±¼äÔÝÍ£ÔÚ´ó¶àÊýÇé¿ö϶¼²»ÊǺÃÊÂÇ飬Òò´Ë¼´Ê¹Ó¦ÓóÌÐòÄܹ»³ÐÊÜ£¬Ò²Ó¦¸Ã¿¼ÂDz¢¾ÀÕý¸ÃÎÊÌ⣬ÒòΪÄúÎÞ·¨Í¨¹ý´íÎóÅäÖÃµÄ JVM ʵÀý»ñµÃÈκκô¦¡£

CPU ÏûºÄ

Èç¹ûÄúÔÚÔËÐÐÆäÏß³ÌÊýÁ¿³¬¹ýÒѰ²×°µÄ CPU ÊýÁ¿µÄÓ¦ÓóÌÐò£¬Ôò¹Û²ìµ½×ÜÌå CPU ÀûÓÃÂʱ£³ÖÔÚ 90% »ò¸ü¸ßÊǺÜÕý³£µÄ£¬ÈκÎÀàÐ͵ĺǫ́´¦Àí¶¼»áËðº¦ÄúµÄÓ¦ÓóÌÐòµÄÍÌÍÂÁ¿¡£ÁíÒ»·½Ã棬Èç¹ûÄúµÄÓ¦ÓóÌÐòÊÇ·þÎñÆ÷£¬²¢ÇÒÆäÏß³ÌÔÚ´ó¶àÊýʱ¼ä¶¼´¦ÓÚ˯Ãß״̬£¬Ö»ÓÐÔÚÏìÓ¦´«ÈëµÄÇëÇóʱ²Å»áÐÑÀ´£¬ÄÇôÄúÒ²ÐíÄܹ»Ê¹Óúǫ́´¦ÀíÀ´¼õС³¤Ê±¼ä GC ÔÝÍ£Ëùµ¼ÖµÄÓ°Ïì¡£

¶ÔÓÚÊôÓÚ CPU Ãܼ¯ÐÍ´Ó¶øÏ£Íû×îС»¯ºǫ́´¦ÀíµÄÓ¦ÓóÌÐò£¬¿ÉÒÔ¿¼ÂÇ ¼¼ÇÉ CPU007£º½ûÓÃÏÔʽµÄ System.gc() µ÷Óᢼ¼ÇÉ CPU008£ºÊ¹ÓÃСÐÍ¶ÑºÍ ¼¼ÇÉ CPU009£ºÏû³ý¡°±ê¼Ç¶ÑÕ»Òç³ö¡±¡£ÕýÈçÇ°ÃæÌáµ½¹ýµÄ£¬ÄúÓ¦¸Ã½« ¼¼ÇÉ CPU008£ºÊ¹ÓÃСÐͶÑÓëÄÚ´æÌØÕ÷½áºÏÆðÀ´¿¼ÂÇ¡£

¶ÔÓÚ·Ç CPU Ãܼ¯ÐÍÓ¦ÓóÌÐò£¬Ç¿ÁÒ½¨Ò鿼ÂÇ ¼¼ÇÉ CPU002£ºÊ¹Óò¢·¢ GC¡£Õ⽫ͨ¹ý¼õÉÙ GC ÖÜÆÚµ½´ïʱµÄ×ÜÌåÔÝͣʱ¼äÀ´»ñÒæ¡£

¶¨ÒåÁ¼ºÃµÄÒýÓþÖÓòÐÔ

Èç¹ûÓ¦ÓóÌÐòÓÐһЩ¾­³£Ö´Ðеķ½·¨£¬¶øÆäËû·½·¨ÔòºÜÉÙÖ´ÐУ¬Ôò ¼¼ÇÉ CPU003£ºÔÚµÚÒ»´Îµ÷ÓÃʱ±àÒëËùÓÐÄÚÈݽ«ÊǷdz£ºÃµÄÐÔÄÜÔöÇ¿·½·¨¡£

²¢ÐжÈ

Èç¹ûÓ¦ÓóÌÐòÔËÐжà¸öÏß³ÌÒÔÍê³É¹¤×÷£¬Ôò»á´Ó¾ßÓдóÁ¿ CPU µÄϵͳÖлñÒæ¡£¶ÔÓÚ¶¯Ì¬·ÖÇø£¬Ìí¼Ó¸ü¶à CPU »áÁ¢¼´±íÏÖ³ö¸Ä½ø£¬ÒòΪ¿ÉÒÔÁ¢¼´½« Java Ï̵߳÷¶Èµ½ÐÂÌí¼ÓµÄ CPU ÉÏ¡£¼¼ÇÉ CPU005£ºÊ¹ÓôóÁ¿Ï̡߳¢¼¼ÇÉ CPU006£º¼õÉÙËøÕùÓÃºÍ ¼¼ÇÉ CPU011£º³¬¹ý 24 ¸ö CPU µÄϵͳÌÖÂÛÁ˿ɳ¢ÊÔµÄÆäËûÓÅ»¯¡£

µ«ÊÇÈç¹ûÓ¦ÓóÌÐòÖ»Óе¥¸öÖ´ÐÐỊ̈߳¬Ôò»áÊܵ½µ¥¸ö CPU µÄ´¦ÀíÄÜÁ¦µÄÏÞÖÆ¡£ÔÚ´ËÇé¿öÏ£¬Äú¿ÉÄÜÏ£Íû³¢ÊÔ ¼¼ÇÉ CPU002£ºÊ¹Óò¢·¢ GC ºÍ ¼¼ÇÉ CPU010£ºµ¥ CPU ϵͳ¡£Èç¹ûÄúÒª³¢ÊÔÔÚij¸öϵͳÉÏÔËÐжà¸ö JVM ʵÀý£¨ÀýÈ磬ÔÚ¼¯Èº»·¾³ÖУ©£¬Ôò ¼¼ÇÉ CPU010£ºµ¥ CPU ÏµÍ³ÌØ±ðÓаïÖú¡£

Ò»°ã¼¼Çɼ¯ºÏ

ÏÂÎĽ«°Ñ Java µÄÃüÁîÐвÎÊý£¨ÔÚ class/jar ÎļþÃû³ÆÖ®Ç°Ö¸¶¨£©³ÆÎª¡°¿ª¹Ø¡±¡£ÀýÈ磬ÃüÁîÐС°java -mx2g hello¡±¾ßÓе¥¸ö¿ª¹Ø¡°-mx2g¡±¡£

¼¼ÇÉ CPU001£º¿ìËÙÆô¶¯Ó¦ÓóÌÐò

¿ÉÒÔʹÓ÷DZê×¼¿ª¹Ø -Xquickstart Ëõ¶ÌÓ¦ÓóÌÐòµÄÆô¶¯Ê±¼ä¡£´Ë¿ª¹Ø½« JIT ÓÅ»¯¼¶±ð½µÖÁ×îµÍ£¬²¢ÇÒ½öµ±ÊÊÓõķ½·¨ÔٴαäµÃ»î¶¯Ê±²ÅÖØÐÂÓ¦ÓÃÓÅ»¯¡£¶ÔÓÚÆäÖ´Ðв»ÊǼ¯ÖÐÓÚÉÙÊý·½·¨µÄÓ¦ÓóÌÐò£¬ÕâÑù×öµÄ½á¹ûÊÇÆô¶¯Ê±¼äÒª¿ìµÃ¶à¡£

Çë×¢Ò⣺ÓÉÓÚ¶à½×¶ÎµÄÓÅ»¯·½·¨£¬´Ë¿ª¹Ø¿ÉÄܶԳ¤ÆÚÔËÐеÄÓ¦ÓóÌÐò¾ßÓиºÃæÓ°Ïì¡£Çë×¢Ò⣺

¼¼ÇÉ CPU002£ºÊ¹Óò¢·¢ GC

¿ÉÒÔÖ¸¶¨¡°²¢·¢±ê¼ÇÀ¬»øÊÕ¼¯²ßÂÔ¡±(Concurrent Mark Garbage Collection Policy)£¬ÒÔ±ã¼õÉÙ GC ÖÜÆÚÒýÈëµÄÔÝͣʱ¼äÁ¿¡£ÕâÊÇʹÓà -Xgcpolicy:optavgpause ¿ª¹ØÀ´Ö¸¶¨µÄ¡£

Çë×¢Ò⣺ÔÚijЩÇé¿öÏ£¬CPU Ãܼ¯ÐÍÓ¦ÓóÌÐò¿ÉÄÜ»áÔÚÖ¸¶¨Á˲¢·¢±ê¼ÇµÄÇé¿öϱíÏÖ³öÍÌÍÂÁ¿Ï½µ¡£

¼¼ÇÉ CPU003£ºÔÚµÚÒ»´Îµ÷ÓÃʱ±àÒëËùÓÐÄÚÈÝ£¨»òÑ¡¶¨µÄ·½·¨£©

¿ÉÒÔ½«»·¾³±äÁ¿ IBM_MIXED_MODE_THRESHOLD ÉèÖÃΪ 0£¬´Ó¶ø¹Ø±Õ»ìºÏģʽµÄ½âÊÍÆ÷ (Mixed-Mode interpreter)¡£Æä½á¹ûÊÇËùÓз½·¨¶¼½«ÔÚµÚÒ»´Îµ÷ÓÃʱ½øÐÐ JIT ±àÒë¡£½«ÏÂÃæÕâÒ»ÐÐÄÚÈÝÌí¼Óµ½»·¾³ÉèÖÃÖУ¬»òÕß¼òµ¥µØÔÚÆô¶¯ Java ǰÔËÐдËÐÐÃüÁ

export IBM_MIXED_MODE_THRESHOLD=0

»¹¿ÉÒÔ¶Ô·ÇÁãÖµ½øÐÐÊÔÑ飬ÒÔÈ·¶¨ÊÇ·ñÓÐij¸öÌØ¶¨µÄ MMI ãÐÖµ¿ÉÒÔ±ÈÁãÖµÌṩ¸üºÃµÄÐÔÄÜ¡£¶ÔÓÚ AIX£¬Java 1.3.1 ʹÓà 600 ×÷ΪãÐÖµ£¬¶ø Java 1.4 ÔòʹÓÃÒ»¸ö´óÓÚ 1000 µÄÖµ£¨Çë×¢Ò⣬ÕâЩֵ¿ÉÄÜ»á¸ü¸Ä£©¡£IBM developer kits - diagnosis documentation ÔÚ¡°JIT Diagnostics¡±Ò»ÕÂÏÂÃæµÄ¡°Selecting the MMI Threshold¡±Ð¡½ÚÖÐÌṩÁ˸ü¶àÐÅÏ¢¡£

Èç¹ûÄúֻϣÍûÓ°ÏìijЩÀ࣬¿ÉÒÔ¸ÄΪʹÓà JITC_COMPILEOPT=FORCE(0){classname}{methodname}¡£Ê¾Àý£º

export JITC_COMPILEOPT=FORCE(0){com/myapp/*}{*}

´ËʾÀýÔÚµÚÒ»´Î¼ÓÔØÊ±±àÒë com.myapp.* °üÖеÄËùÓÐÀàµÄËùÓз½·¨¡£

export JITC_COMPILEOPT=FORCE(0){*}{uniqueName}

´ËʾÀýÔÚµÚÒ»´Î¼ÓÔØÊ±±àÒëËùÓÐÃûΪ¡°uniqueName¡±µÄ·½·¨¡£

export JITC_COMPILEOPT=FORCE(0){com/myapp/special}{SpecialMethod}

´ËʾÀý½öÔÚµÚÒ»´Î¼ÓÔØÊ±±àÒëÕâ¸öÌØ¶¨µÄ·½·¨¡£³ýÁË *£¨±íʾÁã¸ö»ò¶à¸ö×Ö·û£©ÒÔÍ⣬»¹¿ÉÒÔʹÓá°?¡±×÷Ϊµ¥¸ö×Ö·ûµÄͨÅä·û¡£

¿ÉÒÔʹÓÃÒÔÏÂÓï·¨Ö¸¶¨¶à¸öÀàºÍ/»ò·½·¨£º

export JITC_COMPILEOPT=FORCE(0){class1}{method1}{class2}{method2}

È·±£ÓÃÎĵµÇå³þµØËµÃ÷ÕâÊÇÒ»¸öÓÅ»¯¶ø²»ÊÇÐÞ¸´£¡

Çë×¢Ò⣺ӦÓóÌÐòµÄÆô¶¯Ê±¼ä¿ÉÄÜÓÉÓÚ´ËÉèÖöøÑÓ³¤¡£

¼¼ÇÉ CPU004£ºÍêȫȥµô GC

¿ÉÒÔ½«Æô¶¯ºÍ×î´ó¶Ñ´óСÉèÖÃΪ·Ç³£´óµÄÖµ£¬ÒÔ±ãÔÚÔËÐÐÆÚ¼ä²»»á·¢ÉúÈκηÖÅä¹ÊÕÏ¡£Ó¦¸ÃΪÕâЩÔËÐÐÆôÓà verbosegc£¬ÒÔÈ·±£¸Ã²ßÂÔÓÐЧ£¡

Çë×¢Ò⣺µ± GC ·¢Éúʱ£¬ÆäÖÜÆÚ¿ÉÄÜ»áÏ൱³¤£¬Òò´ËÖ»ÄÜÔÚ¼«ÉÙµÄÇé¿öÏÂʹÓô˼¼ÇÉ¡£

¼¼ÇÉ CPU005£ºÊ¹ÓôóÁ¿Ïß³Ì

¶ÔÓÚÀ©Õ¹µ½¸ü´óÊýÁ¿µÄỊ̈߳¬ÄúÓ¦¸ÃʹÓà -Xss ¿ª¹ØÀ´Ö¸¶¨Ò»¸öСÓÚȱʡֵ£¨Í¨³£Îª 512 K£¬µ«ÊÇ¿ÉÄÜËæ Java °æ±¾¶øÒ죩µÄÖµ¡£Õ⽫ʹÄú¿ÉÒÔÀ©Õ¹µ½¸ü´óÊýÁ¿µÄỊ̈߳¬Í¬Ê±¼õСӦÓóÌÐòµÄ±¾»úÄÚ´æÕ¼Óÿռ䡣

Çë×¢Ò⣺Èç¹û¶ÑÕ»´óС̫С£¬Äú¿ÉÄÜ»áÓöµ½¶ÑÕ»Òç³ö (Stack Overflow) Òì³£¡£

¼¼ÇÉ CPU006£º¼õÉÙËøÕùÓÃ

Èç¹ûÓ¦ÓóÌÐòÌåϵ½á¹¹ÔÊÐíµÄ»°£¬Äú¿ÉÒÔ³¢ÊÔÔËÐжà¸ö Java ʵÀý£¬ÒÔ¼õÉÙËøÕùÓá£ÕâÊÇͨ¹ýÔÊÐí´ËÀàÅäÖõÄÓ¦ÓóÌÐò·þÎñÆ÷À´´Ù½øµÄ£»ÀýÈ磬WebSphere ÔÊÐíÄúÔÚͬһ̨ÎïÀí¼ÆËã»úÉÏʹÓöà¸ö½Úµã¡£

Çë×¢Ò⣺ÕâÖ»ÄÜÑÚ¸ÇÎÊÌ⣻ÄúÓ¦¸Ã¸´²éµ¼Ö¹ý¶àËøÕùÓõĴúÂ벿·Ö¡£¿ÉÒÔʹÓà tprof »ò Java ·ÖÎöÀ´¶¨Î»ÐèÒª¸´²éµÄÇøÓò¡£

¼¼ÇÉ CPU007£º½ûÓÃÏÔʽµÄ system.gc() µ÷ÓÃ

ʹÓ÷DZê×¼¿ª¹Ø -Xdisableexplicitgc£¬Äú¿ÉÒÔ¼õÉÙ¶Ôɾ³ý´úÂëÖÐµÄ System.gc() µ÷ÓõÄÐèÒª¡£É¾³ýÕâЩµ÷Óý«°Ñ GC ¹ÜÀí¹¤×÷·µ»¹¸ø JVM¡£

Çë×¢Ò⣺Èç¹ûÐèҪͨ¹ý¹¦ÄÜÀ´ÊµÏÖ System.gc() µ÷Óã¨ÀýÈ磬ͨ¹ýÓ¦ÓóÌÐòÆÁÄ»Éϵİ´Å¥£©£¬Õ⽫ÊǸö»µÖ÷Ò⣬ÒòΪ°´Å¥½«±äµÃÎÞ·¨¹¤×÷¡£Ò²ÐíÓÐ System.gc() µ÷ÓÿÉÒÔ´æÔÚÓÚ´úÂëÖÐµÄÆäËûºÏÀíÀíÓÉ¡£

¼¼ÇÉ CPU008£ºÊ¹ÓÃСÐͶÑ

ʹÓþö²»ÔÊÐíѹËõʱ¼ä±äµÃ²»¿ÉÈÌÊܵĶѴóС¡£Èç¹ûÓÉÓÚijÖÖÔ­Òò£¬Ó¦ÓóÌÐò×îÖÕµ¼Ö´óÁ¿µÄѹËõ£¬ÔòʹÓà 256 MB µÄ¶ÑËù»¨µÄѹËõʱ¼äÒª±È 1 GB µÄ¶ÑÉٵöࡣ

Çë×¢Ò⣺Èç¹ûÓÉÓÚ½ÏСµÄ¶Ñ¶ø´¥·¢¸ü¶àµÄѹËõ£¬Ôò´ËÓÅ»¯¾ÍÊÂÓëԸΥÁË¡£Ö»ÄÜÔÚÒª´´½¨´óÁ¿ÁÙʱ¶ÔÏóµÄÇé¿öÏÂʹÓô˼¼ÇÉ¡£

¼¼ÇÉ CPU009£ºÏû³ý±ê¼Ç¶ÑÕ»Òç³ö

Èç¹ûÔÚ verbosegc ÈÕÖ¾Öй۲쵽¡°±êÖ¾¶ÑÕ»Òç³ö (Mark Stack Overflow)¡±ÏûÏ¢£¬¿ÉÒÔ¼õÉÙ¶ÑÖб£³Ö»î¶¯µÄ¶ÔÏóÊýÁ¿£¬ÒÔ±ãÕâЩÏûÏ¢Ïûʧ¡£½Ïа汾µÄ Java ¾ßÓкõöàµÄ MSO ´¦Àí¹¦ÄÜ¡£ÕâÀï°üÀ¨´Ë¼¼ÇÉÊÇÒòΪ MSO »áÑÏÖØËðº¦Ó¦ÓóÌÐòµÄÐÔÄÜ£¬±ØÐ뽫ÆäÊÓΪȱÏݶø²»ÊÇÓÅ»¯¡£

¼¼ÇÉ CPU010£ºµ¥ CPU ϵͳ

¿ÉÒÔʹÓà bindprocessor ÃüÁ Java ½ø³Ì°ó¶¨µ½Ä³¸öÌØ¶¨µÄ´¦ÀíÆ÷¡£¿ÉÒÔ¿¼ÂÇʹÓô˼¼ÇÉÒÔ±ÜÃâ¶à¸ö JVM ʵÀýÕù¶á CPU µ÷¶È¡£Èç¹ûϵͳ²»Êǵ¥´¦ÀíÆ÷¼ÆËã»ú£¬Äú¿ÉÄÜÏ£ÍûÉèÖà -Xgcthreads0¡£

Èç¹ûÄúÊÇÔÚ²»»á½øÐÐÖØÐÂÅäÖÃÒÔ¶¯Ì¬Ìí¼Ó¸ü¶à CPU µÄµ¥ CPU µÄ LPAR ÉÏÔËÐÐÓ¦ÓóÌÐò£¬Ôò»¹¿ÉÒÔµ¼³ö NO_LPAR_RECONFIGURATION=1£¬ÒÔÔÚijЩÇé¿öÏ»ñµÃ¸üºÃµÄÐÔÄÜ¡£

Çë×¢Ò⣺ÄúÊÇÔÚͨ¹ýÆÈʹ Java ÔÚµ¥ CPU ÅäÖÃÖÐÔËÐУ¬´Ó¶ø½ûÓÃÆä×î¼ÑµÄÐÔÄÜÌØÐÔ¡£NO_LPAR_RECONFIGURATION »¹½«½ûÓà Java ÊÊÓ¦ DLPAR µÄ¶¯Ì¬¿ÉÅäÖÃÐÔ£¬Òò´ËÓ¦¸ÃÉ÷Óá£

¼¼ÇÉ CPU0011£º³¬¹ý 24 ¸ö CPU µÄϵͳ

¶ÔÓÚ 24 ÖÁ 32 ·ϵͳ£¬ÄúÓ¦¸ÃʹÓà -Xgcpolicy:subpool ½øÐвâÊÔ£¬ÒòΪ´Ë GC ²ßÂÔÊÇΪÁ˸ø½Ï´óÐÍÅäÖý»¸¶¸üºÃµÄÐÔÄܶøÓÅ»¯µÄ¡£

¼¼ÇÉ CPU012£º±ÜÃâ¶Ñ´óСµ÷Õû

¿ÉÒÔ±£³Ö¹Ì¶¨´óСµÄ¶Ñ£¬ÒÔ±ÜÃâÔÚ¿ÕÏпռä°Ù·Ö±ÈµÍÓÚ£¨»ò¸ßÓÚ£©Ä³¸öֵʱ»¨Ê±¼äÈ¥µ÷Õû¶ÑµÄ´óС¡£

Çë×¢Ò⣺¼´Ê¹¶ÑʹÓÃÂÊΪÆä×î¸ßˮƽµÄ 10%£¬Ó¦ÓóÌÐòµÄÄÚ´æÕ¼ÓÿռäÒ²½«±£³ÖÔÚÖ¸¶¨µÄ¶Ñ´óС¡£

×ܽá

±¾ÎĽéÉÜÁËÈçºÎʹÓà AIX ¹¤¾ß½øÐÐ Java ÐÔÄܼàÊÓ£¬²¢ÌṩÁË¿ÉÓÃÀ´ÓÅ»¯Ó¦ÓóÌÐòµÄ CPU ʹÓõij£Óõ÷ÕûÁÐ±í¡£±¾ÏµÁÐÖеÄÏÂһƪÎÄÕ½«ÌÖÂÛ AIX É쵀 Java Ó¦ÓóÌÐòµÄÄÚ´æµ÷Õû¡£

   
5261 ´Îä¯ÀÀ       34
Ïà¹ØÎÄÕ Ïà¹ØÎĵµ Ïà¹Ø¿Î³Ì



Éî¶È½âÎö£ºÇåÀíÀôúÂë
ÈçºÎ±àд³öÓµ±§±ä»¯µÄ´úÂë
ÖØ¹¹-ʹ´úÂë¸ü¼ò½àÓÅÃÀ
ÍŶÓÏîÄ¿¿ª·¢"±àÂë¹æ·¶"ϵÁÐÎÄÕÂ
ÖØ¹¹-¸ÄÉÆ¼ÈÓдúÂëµÄÉè¼Æ
Èí¼þÖØ¹¹v2
´úÂëÕû½àÖ®µÀ
¸ßÖÊÁ¿±à³Ì¹æ·¶
»ùÓÚHTML5¿Í»§¶Ë¡¢Web¶ËµÄÓ¦Óÿª·¢
HTML 5+CSS ¿ª·¢
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
C++¸ß¼¶±à³Ì
×îл¼Æ»®
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢ 6-12[ÏÃÃÅ]
È˹¤ÖÇÄÜ.»úÆ÷ѧϰTensorFlow 6-22[Ö±²¥]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 6-30[±±¾©]
ǶÈëʽÈí¼þ¼Ü¹¹-¸ß¼¶Êµ¼ù 7-9[±±¾©]
Óû§ÌåÑé¡¢Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À 7-25[Î÷°²]
ͼÊý¾Ý¿âÓë֪ʶͼÆ× 8-23[±±¾©]

»ùÓÚÄ£Ð͵ÄÕû³µµç×ÓµçÆø¼Ü¹¹Éè¼Æ
ǶÈëʽÉ豸É쵀 Linux ϵͳ¿ª·¢
Linux µÄ²¢·¢¿É¹ÜÀí¹¤×÷¶ÓÁÐ
ARMǶÈëʽϵͳµÄÎÊÌâ×ܽá·ÖÎö
ǶÈëʽϵͳÉè¼ÆÓëʵÀý¿ª·¢
WinCE6.0µÄEBOOT¸ÅÒª


UML +RoseRealtime+ǶÈëʽ
C++ǶÈëʽϵͳ¿ª·¢
ǶÈëʽ°×ºÐ²âÊÔ
ÊÖ»úÈí¼þ²âÊÔ
ǶÈëʽÈí¼þ²âÊÔ
ǶÈëʽ²Ù×÷ϵͳVxWorks


Öйúº½¿Õ ǶÈëʽC¸ßÖÊÁ¿±à³Ì
ʹÓÃEAºÍUML½øÐÐǶÈëʽϵͳ·ÖÎöÉè¼Æ
»ùÓÚSysMLºÍEAµÄǶÈëʽϵͳ½¨Ä£
ÉϺ£Æû³µ ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ
±±¾© ǶÈëʽC¸ßÖÊÁ¿±à³Ì
±±¾© ¸ßÖʸßЧǶÈëʽ¿ª·¢
Nagra linuxÄÚºËÓëÉ豸Çý¶¯Ô­Àí