OProfileÀº ÀÛ¾÷ ºÎÇϰ¡ ³·Àº, ½Ã½ºÅÛ Àüü ¼º´É °¨½Ã µµ±¸ÀÔ´Ï´Ù. OProfileÀº ÇÁ·Î¼¼¼ »ó¿¡¼ ¼º´É °¨½Ã Çϵå¿þ¾î¸¦ »ç¿ëÇÏ¿© Ä¿³Î°ú »ç¿ëµÈ ¸Þ¸ð¸®, L2 ij½Ã ¿äûÀÇ ¼ö, Àü¼Û¹ÞÀº Çϵå¿þ¾î ÀÎÅÍ·´Æ®ÀÇ ¼ýÀÚ¿Í °°Àº ½Ã½ºÅÛ »ó ½ÇÇà°¡´É ÇÁ·Î±×·¥µé¿¡ ´ëÇÑ Á¤º¸¸¦ ¾Ë¾Æ³À´Ï´Ù. Red Hat Enterprise Linux ½Ã½ºÅÛ¿¡¼ ÀÌ µµ±¸¸¦ »ç¿ëÇϱâ À§Çؼ´Â oprofile RPM ÆÐŰÁö¸¦ ¼³Ä¡ÇÏ¼Å¾ß ÇÕ´Ï´Ù.
¸¹Àº ÇÁ·Î¼¼¼¿¡´Â Àü¿ë ¼º´É °¨½Ã Çϵå¿þ¾î°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ Çϵå¿þ¾î¸¦ »ç¿ëÇÏ¿© Ưº°ÇÑ »ç°Ç ¹ß»ý½Ã (¿¹¸¦ µé¾î ¿äûµÈ ÀÚ·á°¡ ij½Ã¿¡ ÀúÀåµÇÁö ¾Ê´Â °æ¿ì) ¹®Á¦¸¦ ŽÁöÇÒ ¼ö ÀÖ½À´Ï´Ù. Çϵå¿þ¾î´Â ÀϹÝÀûÀ¸·Î »ç°ÇÀÌ ¹ß»ýÇÒ ¶§¸¶´Ù ÇѰ³¾¿ Áõ°¡µÇ´Â Ä«¿îÅÍ (counter) ÇüÅ·Π³ªÅ¸³³´Ï´Ù. Ä«¿îÅÍÀÇ °ªÀÌ "0 °ªÀ¸·Î ³Ñ¾î°¡¸é" ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇÏ¿©, ¼º´É °¨½Ã·Î ÀÎÇÑ ÀÛ¾÷ ºÎÇϸ¦ Á¶ÀýÇÒ ¼ö ÀÖ½À´Ï´Ù.
OProfileÀº ÀÌ Çϵå¿þ¾î (¶Ç´Â ¼º´É °¨½Ã Çϵå¿þ¾î°¡ ¾ø´Â °æ¿ì ŸÀ̸Ӱ¡ °°Àº ´ëü Çϵå¿þ¾î)¸¦ »ç¿ëÇÏ¿© Ä«¿îÅͰ¡ ÀÎÅÍ·´Æ®¸¦ ¹ß»ýÇÒ ¶§¸¶´Ù ¼º´É°ú °ü·ÃµÈ µ¥ÀÌÅÍ »ùÇÃÀ» ¼öÁýÇÕ´Ï´Ù. ÀÌ »ùÇÃÀº ÁÖ±âÀûÀ¸·Î µð½ºÅ©¿¡ ±â·ÏµÇ¸ç; ÀÌÈÄ ÀÌ »ùÇÿ¡ Æ÷ÇÔµÈ µ¥ÀÌÅ͸¦ »ç¿ëÇÏ¿© ½Ã½ºÅÛ ¼öÁØ ¼º´É°ú ÀÀ¿ë ÇÁ·Î±×·¥ ¼öÁØ ¼º´É¿¡ ´ëÇÑ ¸®Æ÷Æ®¸¦ »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
![]() | Áß¿ä |
---|---|
Red Hat Enterprise Linux 3¿¡ Æ÷ÇÔµÈ OProfileÀÇ Ä¿³Î Áö¿øÀº 2.5 °³¹ß¿ë Ä¿³ÎÀÇ ÀÌÀü ¹öÀü ȣȯ °¡´ÉÇÑ ÄÚµå (back-ported code)¿¡ ±âÃÊÇÕ´Ï´Ù. µû¶ó¼ OProfile ¹®¼ ÀÚ·á¿¡¼ ¾ð±ÞµÈ 2.5-ƯÁ¤ ±â´ÉÀº Red Hat Enterprise Linux 3ÀÇ Ä¿³Î ¹öÀüÀº 2.4 ÀÌÁö¸¸ OProfile¿¡ Àû¿ëµË´Ï´Ù. ±×·¯³ª ¹Ý´ë·Î 2.4 Ä¿³Î¿¡¸¸ ÀÖ´Â OProfile ±â´ÉÀº Red Hat Enterprise Linux 3¿¡ Àû¿ëµÇÁö ¾Ê½À´Ï´Ù. |
OProfileÀº À¯¿ëÇÑ µµ±¸ÀÌÁö¸¸ »ç¿ëÇϽǶ§ ¸î°¡Áö Á¦ÇÑ »çÇ×À» ¾Ë°í °è¼Å¾ß ÇÕ´Ï´Ù:
°øÀ¯ ¶óÀ̺귯¸® »ç¿ë — --separate=library ¿É¼ÇÀÌ »ç¿ëµÇÁö ¾ÊÀº ÇÑ °øÀ¯ ¶óÀ̺귯¸® ÄÚµåÀÇ »ùÇÃÀº ƯÁ¤ ÀÀ¿ë ÇÁ·Î±×·¥¿¡ ¼ÓÇÏÁö ¾Ê½À´Ï´Ù.
¼º´É °¨½Ã »ùÇÃÀº Á¤È®ÇÏÁö ¾Ê½À´Ï´Ù — ¼º´É °¨½Ã ±â·Ï±â°¡ »ùÇÃÀ» ¼öÁý½Ã ÀÎÅÍ·´Æ® 󸮴 0À¸·Î ³ª´©´Â °Í¿¡ ´ëÇØ ¿¹¿Ü»çÇ×(Exception)°ú °°ÀÌ Á¤È®ÇÏÁö ¾Ê½À´Ï´Ù. ÇÁ·Î¼¼¼ ¸í·ÉÀÌ ¼ø¼´ë·Î ½ÇÇàµÇÁö ¾Ê±â ¶§¹®¿¡ (out-of-order execution), »ùÇÃÀº ±ÙÁ¢ÇÏÁö¸¸ Á¤È®ÇÏÁö ¾Ê°Ô ±â·ÏµÉ ¼ö ÀÖ½À´Ï´Ù.
oprofppÀº ÀζóÀÎ(inline) ÇÔ¼ö¿¡ »ç¿ëµÈ »ùÇÃÀ» Á¦´ë·Î Á¶ÇÕÇÏÁö ¸øÇÕ´Ï´Ù — oprofppÀº ´Ü¼ø ÁÖ¼Ò ¹üÀ§ ¸ÞÄ¿´ÏÁòÀ» »ç¿ëÇÏ¿© ÁÖ¼Ò°¡ ¾î´À ÇÔ¼ö¿¡ À§Ä¡ÇÏ´ÂÁö ¾Ë¾Æ³À´Ï´Ù. ÀζóÀÎ ÇÔ¼ö »ùÇÃÀº ÀζóÀÎ ÇÔ¼ö ÀÚü¿¡ ¼ÓÇϱ⠺¸´Ù´Â ÀζóÀÎ ÇÔ¼ö°¡ »ðÀÔµÈ ÇÔ¼ö¿¡ ¼ÓÇÕ´Ï´Ù.
OProfileÀº ¿©·¯¹ø ½ÇÇàµÈ µ¥ÀÌÅ͸¦ ÃàôÇÕ´Ï´Ù — OProfileÀº ½Ã½ºÅÛ ¼öÁØ ÇÁ·ÎÆÄÀÏ·¯·Î¼ ¿©·¯¹ø ½ÃÀ۵ǰí Á¾·áµÈ ÇÁ·Î¼¼½º¸¦ °¨½ÃÇÑ ÈÄ ÃàôµÈ »ùÇÃÀ» ¼öÁýÇÕ´Ï´Ù. ÀÌÀü ½ÇÇà¿¡¼ ¼öÁýÇÑ »ùÇÃÀ» Áö¿ì½Ã·Á¸é opcontrol --reset ¸í·ÉÀ» »ç¿ëÇϽʽÿÀ.
CPU Á¦ÇѰú °ü·ÃµÇÁö ¾ÊÀº ¼º´É ¹®Á¦µé — OProfileÀº CPU Á¦ÇѰú °ü·ÃµÈ ÇÁ·Î¼¼½º ¹®Á¦Á¡À» ãµµ·Ï °í¾ÈµÇ¾ú½À´Ï´Ù. µû¶ó¼ OProfileÀº Àá±ÝÀÌ ÇØÁ¦µÇ±â¸¦ ±â´Ù¸®°í Àְųª ´Ù¸¥ ÀÛ¾÷ÀÌ ¹ß»ýÇϱ⸦ (¿¹, I/O ÀåÄ¡°¡ ÀÛ¾÷À» ¸¶Ä¡±â¸¦) ±â´Ù¸®¸é¼ ÇÁ·Î¼¼½º°¡ ¸ØÃâ °æ¿ì ±×·¯ÇÑ ÇÁ·Î¼¼½º¸¦ ã¾Æ³»Áö ¸øÇÕ´Ï´Ù.
Red Hat Enterprise Linux¿¡¼ ¿ÀÁ÷ ¸ÖƼÇÁ·Î¼¼¼ (SMP) Ä¿³Î¸¸ OProfle Áö¿øÀÌ È°¼ºÈµÇ¾î ÀÖ½À´Ï´Ù. ¾î´À Ä¿³ÎÀÌ ½ÇÇà ÁßÀÎÁö ¾Ë¾Æº¸½Ã·Á¸é ´ÙÀ½ ¸í·ÉÀ» ÀÔ·ÂÇϽʽÿÀ:
uname -r |
¸¸ÀÏ Ãâ·ÂµÈ Ä¿³Î ¹öÀüÀÇ ¸¶Áö¸· ºÎºÐÀÌ .entsmpÀ¸·Î ³¡³´Ù¸é, ¸ÖƼÇÁ·Î¼¼¼ Ä¿³ÎÀÌ ½ÇÇà ÁßÀÔ´Ï´Ù. ±×·¸Áö ¾Ê´Ù¸é ½Ã½ºÅÛÀÌ ¸ÖƼÇÁ·Î¼¼¼ ½Ã½ºÅÛÀÌ ¾Æ´Ï¶óµµ Red Hat Network À̳ª ¹èÆ÷ CD¸¦ »ç¿ëÇÏ¿© ¼³Ä¡ÇÏ½Ã¸é µË´Ï´Ù. ¸ÖƼÇÁ·Î¼¼¼ Ä¿³ÎÀº ´ÜÀÏ ÇÁ·Î¼¼¼ ½Ã½ºÅÛÀ¸·Î ½ÇÇà °¡´ÉÇÕ´Ï´Ù.
Ç¥ 43-1¿¡¼´Â oprofile ÆÐŰÁö¿¡ Æ÷ÇÔµÈ µµ±¸µé¿¡ ´ëÇÑ °£´ÜÇÑ ¼³¸íÀ» Á¦°øÇÕ´Ï´Ù.
¸í·É | ¼³¸í |
---|---|
opcontrol | ¾î¶°ÇÑ µ¥ÀÌÅ͸¦ ¼öÁýÇÒ °ÍÀÎÁö ¼³Á¤ÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â 43.2 ÀýÀ» ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù. |
op_help | ½Ã½ºÅÛ ÇÁ·Î¼¼¼¿¡ »ç¿ë °¡´ÉÇÑ ÀÛ¾÷°ú °¢ ÀÛ¾÷¿¡ ´ëÇÑ °£·«ÇÑ ¼³¸íÀ» º¸¿©ÁÝ´Ï´Ù. |
op_merge | µ¿ÀÏÇÑ ½ÇÇà ÇÁ·Î±×·¥¿¡¼ ¼öÁýÇÑ ¿©·¯ »ùÇÃÀ» Çϳª·Î º´ÇÕÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â 43.5.4 ÀýÀ» ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù. |
op_time | ¸ðµÎ ÇÁ·ÎÆÄÀÏµÈ ½ÇÇà ÇÁ·Î±×·¥ÀÇ °³¿ä¸¦ º¸¿©ÁÝ´Ï´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â 43.5.1 ÀýÀ» ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù. |
op_to_source | ¸¸ÀÏ ÀÀ¿ä ÇÁ·Î±×·¥ÀÌ µð¹ö±ë ½Éº¼À» »ç¿ëÇÏ¿© ÄÄÆÄÀÏµÈ °æ¿ì ½ÇÇà ÇÁ·Î±×·¥¿¡ ÁÖ¼® ÷°¡µÈ ¼Ò½º¸¦ »ý¼ºÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â 43.5.3 ÀýÀ» ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù. |
oprofiled | µ¥¸óÀ¸·Î ½ÇÇàµÇ¾î »ùÇà µ¥ÀÌÅ͸¦ µð½ºÅ©¿¡ ÁÖ±âÀûÀ¸·Î ±â·ÏÇÕ´Ï´Ù. |
oprofpp | ÇÁ·ÎÆÄÀÏ µ¥ÀÌÅ͸¦ °Ë»öÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â 43.5.2 ÀýÀ» ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù. |
op_import | »ùÇà µ¥ÀÌÅͺ£À̽º ÆÄÀÏÀ» ¿ÜºÎ ÀÌÁø Çü½Ä¿¡¼ ½Ã½ºÅÛÀÇ ¿ø½Ã Çü½ÄÀ¸·Î º¯È¯ÇÕ´Ï´Ù. ´Ù¸¥ ±¸Á¶¿¡¼ ¼öÁýÇÑ »ùÇà µ¥ÀÌÅͺ£À̽º¸¦ ºÐ¼®ÇÒ °æ¿ì¿¡¸¸ ÀÌ ¿É¼ÇÀ» »ç¿ëÇϽʽÿÀ. |
Ç¥ 43-1. OProfile ¸í·É