ÁÖ±âÀûÀ¸·Î OProfile µ¥¸óÀÎ oprofiledÀº »ùÇÃÀ» ¼öÁýÇÏ¿© /var/lib/oprofile/samples/ µð·ºÅ丮¿¡ ±â·ÏÇÕ´Ï´Ù. µ¥ÀÌÅ͸¦ Àбâ Àü¿¡ ´ÙÀ½ ¸í·ÉÀ» ·çÆ®·Î ½ÇÇàÇÏ¿© ÀÌ µð·ºÅ丮¿¡ ¸ðµç µ¥ÀÌÅͰ¡ ±â·ÏµÇ¾ú´ÂÁö È®ÀÎÇϽñ⠹ٶø´Ï´Ù:
opcontrol --dump |
°¢ »ùÇà ÆÄÀÏ À̸§Àº ½ÇÇà ÇÁ·Î±×·¥ÀÇ À̸§¿¡¼ °¢ ½½·¡½Ã (/)¸¦ ´Ý´Â Áß°ýÈ£ (})·Î ¹Ù²Ù¾î »ý¼ºÇÕ´Ï´Ù. ÆÄÀÏ À̸§ ¸¶Áö¸·¿¡´Â ¿ì¹°Á¤ÀÚ Ç¥½Ã (#)°¡ ¿À¸ç, ±× ´ÙÀ½¿¡´Â ÇØ´ç »ùÇà ÆÄÀÏ¿¡ »ç¿ëµÈ Ä«¿îÅÍ ¹øÈ£°¡ ¿É´Ï´Ù. ¿¹¸¦ µé¸é, ´ÙÀ½ ÆÄÀÏÀº Ä«¿îÅÍ 0¸¦ »ç¿ëÇÏ¿© ¼öÁýÇÑ /sbin/syslogd ½ÇÇà ÇÁ·Î±×·¥¿¡ »ç¿ëµÈ »ùÇà µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÕ´Ï´Ù:
}sbin}syslogd#0 |
µ¥ÀÌÅͰ¡ ¼öÁýµÇ¸é »ùÇà µ¥ÀÌÅ͸¦ ÇÁ·ÎÆÄÀÏÇϱâ À§ÇÏ¿© ´ÙÀ½°ú °°Àº µµ±¸¸¦ »ç¿ëÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù:
op_time
oprofpp
op_to_source
op_merge
ÇÁ·ÎÆÄÀÏµÈ ÀÌÁø(binary)¿Í ÇÔ²² ÀÌ µµ±¸¸¦ »ç¿ëÇÏ¿© º¸´Ù ÀÚ¼¼ÇÑ ºÐ¼®À» À§ÇØ ¸®Æ÷Æ®¸¦ »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
![]() | °æ°í |
---|---|
ÇÁ·ÎÆÄÀÏµÈ ½ÇÇà°¡´É ÇÁ·Î±×·¥ÀÇ µ¥ÀÌÅ͸¦ ºÐ¼®Çϱâ À§Çؼ´Â ¹Ýµå½Ã ÀÌ µµ±¸µéÀ» »ç¿ëÇÏ¼Å¾ß ÇÕ´Ï´Ù. µ¥ÀÌÅͰ¡ ¼öÁýµÈ ÈÄ º¯°æÇØ¾ß ÇÑ´Ù¸é, »ùÇà ÆÄÀÏ ¹× »ùÇÃÀ» »ý¼ºÇϴµ¥ »ç¿ëµÇ¾ú´ø ½ÇÇà°¡´É ÇÁ·Î±×·¥À» ¹é¾÷ ÀúÀåÇÏ¼Å¾ß ÇÕ´Ï´Ù. |
°¢ ½ÇÇà°¡´É ÇÁ·Î±×·¥ÀÇ »ùÇÃÀº ´Üµ¶ »ùÇà ÆÄÀÏ¿¡ ±â·ÏµË´Ï´Ù. µ¿ÀûÀ¸·Î ¸µÅ©µÈ ¶óÀ̺귯¸®ÀÇ »ùÇõµ ´Üµ¶ »ùÇà ÆÄÀÏ¿¡ ±â·ÏµË´Ï´Ù. OProfileÀÌ ½ÇÇàµÇ´Â µ¿¾È °¨½Ã ÁßÀÌ´ø ½ÇÇà°¡´É ÇÁ·Î±×·¥ÀÌ º¯°æµÈ °æ¿ì ½ÇÇà°¡´É ÇÁ·Î±×·¥¿¡ »ùÇà ÆÄÀÏÀÌ Á¸ÀçÇÑ´Ù¸é, ±âÁ¸ »ùÇà ÆÄÀÏÀº ÀÚµ¿À¸·Î »èÁ¦µË´Ï´Ù. µû¶ó¼ ¸¸ÀÏ ±âÁ¸ »ùÇà ÆÄÀÏÀÌ ÇÊ¿äÇÒ °æ¿ì ½ÇÇà°¡´É ÇÁ·Î±×·¥À» »õ ¹öÀüÀ¸·Î ´ëüÇϽñâ Àü¿¡ »ùÇà ÆÄÀÏÀ» »ý¼ºÇϴµ¥ »ç¿ëµÈ ½ÇÇà°¡´É ÇÁ·Î±×·¥°ú ±âÁ¸ »ùÇà ÆÄÀÏÀ» ¹é¾÷ÇÏ¼Å¾ß ÇÕ´Ï´Ù. »ùÇà ÆÄÀÏÀ» ¹é¾÷ÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â 43.4 ÀýÀ» ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù.
op_time µµ±¸´Â ÇÁ·ÎÆÄÀÏµÈ ¸ðµç ½ÇÇà°¡´É ÇÁ·Î±×·¥¿¡ ´ëÇÑ °³¿ä¸¦ º¸¿©ÁÝ´Ï´Ù.
´ÙÀ½Àº ¿¹½Ã Ãâ·Â °á°úÀÇ ÀϺÎÀÔ´Ï´Ù:
581 0.2949 0.0000 /usr/bin/oprofiled 966 0.4904 0.0000 /usr/sbin/cupsd 1028 0.5218 0.0000 /usr/sbin/irqbalance 1187 0.6026 0.0000 /bin/bash 1480 0.7513 0.0000 /usr/bin/slocate 2039 1.0351 0.0000 /usr/lib/rpm/rpmq 6249 3.1722 0.0000 /usr/X11R6/bin/XFree86 8842 4.4885 0.0000 /bin/sed 31342 15.9103 0.0000 /usr/bin/gdmgreeter 58283 29.5865 0.0000 /no-vmlinux 82853 42.0591 0.0000 /usr/bin/perl |
ÇÑ ÁÙ¸¶´Ù °¢ ½ÇÇà°¡´É ÇÁ·Î±×·¥ÀÌ ³ªÅ¸³³´Ï´Ù. ù¹øÂ° ÇàÀº ½ÇÇà°¡´É ÇÁ·Î±×·¥¿¡ ±â·ÏµÈ »ùÇÃÀÇ ¼ýÀÚÀ̸ç, µÎ¹øÂ° ÇàÀº ÃÑ »ùÇà ¼ýÀÚ¿¡ ºñ±³ÇÑ »ùÇÃÀÇ ºñÀ²À» ³ªÅ¸³À´Ï´Ù. ¼¼¹øÂ° ÇàÀº »ç¿ëµÇÁö ¾ÊÀ¸¸ç ³×¹øÂ° ÇàÀº ½ÇÇà°¡´É ÇÁ·Î±×·¥ÀÇ À̸§ÀÔ´Ï´Ù.
»ç¿ë °¡´ÉÇÑ ¸í·ÉÇà ¿É¼ÇÀÇ ¸ñ·ÏÀ» º¸½Ã·Á¸é op_time ¸Þ´º¾ó ÆäÀÌÁö¸¦ ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù. ¿¹¸¦ µé¸é ½ÇÇà°¡´É ÇÁ·Î±×·¥ÀÇ Ãâ·Â °á°ú¸¦ °¡Àå Å« ¼ýÀÚÀÇ »ùÇúÎÅÍ °¡Àå ÀÛÀº ¼ýÀÚÀÇ »ùÇñîÁö Á¤·ÄÇÏ¿© º¸¿©ÁÖ´Â -r ¿É¼Ç ¹× Ä«¿îÅÍ ¹øÈ£¸¦ ÁöÁ¤Çϴµ¥ »ç¿ëµÇ´Â -c ¿É¼ÇÀÌ À¯¿ëÇÕ´Ï´Ù.
ƯÁ¤ ½ÇÇà°¡´É ÇÁ·Î±×·¥¿¡ ´ëÇÑ º¸´Ù ÀÚ¼¼ÇÑ Á¤º¸¸¦ º¸½Ã·Á¸é oprofppÀ» »ç¿ëÇϽʽÿÀ:
oprofpp <mode> <executable> |
<executable>¿¡´Â ºÐ¼®ÇÒ ½ÇÇà°¡´É ÇÁ·Î±×·¥À¸·ÎÀÇ Àüü °æ·Î¸¦ ÁöÁ¤ÇÏ¼Å¾ß Çϸç <mode>´Â ´ÙÀ½ Áß ÇѰ¡Áö·Î ÁöÁ¤ÇÏ¼Å¾ß ÇÕ´Ï´Ù:
½Éº¼À» »ç¿ëÇÏ¿© »ùÇà µ¥ÀÌÅ͸¦ Á¤·ÄÇÏ¿© º¸¿©ÁÝ´Ï´Ù. ¿¹¸¦ µé¸é ´ÙÀ½Àº oprofpp -l /usr/X11R6/bin/XFree86 ¸í·ÉÀ» ½ÇÇà ÈÄ Ãâ·ÂµÇ´Â °á°úÀÇ ÀϺÎÀÔ´Ï´Ù:
vma samples % symbol name ... 08195d10 4 3.0303 miComputeCompositeClip 080b9180 5 3.78788 Dispatch 080cdce0 5 3.78788 FreeResource 080ce4a0 5 3.78788 LegalNewID 080ce640 5 3.78788 SecurityLookupIDByClass 080dd470 9 6.81818 WaitForSomething 080e1360 12 9.09091 StandardReadRequestFromClient ... |
ù¹øÂ° ÇàÀº ½ÃÀÛ °¡»ó ¸Þ¸ð¸® ÁÖ¼Ò (vma)ÀÌ¸ç µÎ¹øÂ° ÇàÀº ½Éº¼¿¡ »ç¿ëµÈ »ùÇÃÀÇ ¼ýÀÚÀÔ´Ï´Ù. ¼¼¹øÂ° ÇàÀº ½ÇÇà°¡´É ÇÁ·Î±×·¥ÀÇ ÃÑ »ùÇÿ¡ ºñ±³ÇÑ ÀÌ ½Éº¼ÀÇ ºñÀ²À̸ç, ³×¹øÂ° ÇàÀº ½Éº¼ À̸§À» ³ªÅ¸³À´Ï´Ù.
»ùÇÃÀ» °¡Àå Å« ¼ýÀÚ¿¡¼ °¡Àå ÀÛÀº ¼ýÀÚ (¹Ý´ë ¼ø¼)·Î Á¤·ÄÇÏ¿© Ãâ·ÂÇϽ÷Á¸é -l ¿É¼Ç¿¡ -r ¿É¼ÇÀ» ÇÔ²² »ç¿ëÇÏ½Ã¸é µË´Ï´Ù.
ƯÁ¤ ½Éº¼ À̸§¿¡ ´ëÇÑ »ùÇà µ¥ÀÌÅ͸¦ º¸¿©ÁÝ´Ï´Ù. ¿¹¸¦ µé¾î oprofpp -s StandardReadRequestFromClient /usr/X11R6/bin/XFree86 ¸í·ÉÀº ´ÙÀ½°ú °°Àº °á°ú¸¦ Ãâ·ÂÇÕ´Ï´Ù:
vma samples % symbol name 080e1360 12 100 StandardReadRequestFromClient 080e1360 1 8.33333 080e137f 1 8.33333 080e13bb 1 8.33333 080e13f4 1 8.33333 080e13fb 1 8.33333 080e144a 1 8.33333 080e15aa 1 8.33333 080e1668 1 8.33333 080e1803 1 8.33333 080e1873 1 8.33333 080e190a 2 16.6667 |
ù¹øÂ° ÁÙÀº ½Éº¼/½ÇÇà°¡´É ÇÁ·Î±×·¥ Á¶ÇÕ¿¡ ´ëÇÑ ¿ä¾à Á¤º¸ÀÔ´Ï´Ù.
ù¹øÂ° ÇàÀº »ùÇà ¼öÁýÇÑ °¡»ó ¸Þ¸ð¸® ÁÖ¼Ò·Î ±¸¼ºµË´Ï´Ù. µÎ¹øÂ° ÇàÀº ¸Þ¸ð¸® ÁÖ¼ÒÀÇ »ùÇà ¼ýÀÚÀ̸ç, ¼¼¹øÂ° ÇàÀº ½Éº¼ÀÇ ÃÑ »ùÇà ¼ö¿Í ºñ±³ÇÑ ¸Þ¸ð¸® ÁÖ¼ÒÀÇ »ùÇà ºñÀ²À» ³ªÅ¸³À´Ï´Ù.
½Éº¼ º°·Î »ùÇà µ¥ÀÌÅ͸¦ Á¤·ÄÇϸç, -l ¿É¼Ç º¸´Ù ÀÚ¼¼ÇÑ Á¤º¸¸¦ º¸¿©ÁÝ´Ï´Ù. ¿¹:
vma samples % symbol name 08083630 2 1.51515 xf86Wakeup 08083641 1 50 080836a1 1 50 080b8150 1 0.757576 Ones 080b8179 1 100 080b8fb0 2 1.51515 FlushClientCaches 080b8fb9 1 50 080b8fba 1 50 ... |
°¢ ½Éº¼¸¶´Ù -l ¿É¼ÇÀ» »ç¿ëÇÒ ¶§¿Í µ¿ÀÏÇÑ µ¥ÀÌÅͰ¡ ³ªÅ¸³ªÁö¸¸, »ç¿ëµÈ °¡»ó ¸Þ¸ð¸® ÁÖ¼Ò°¡ ³ªÅ¸³ª´Â Â÷ÀÌÁ¡ÀÌ ÀÖ½À´Ï´Ù. °¢ °¡»ó ¸Þ¸ð¸® ÁÖ¼Ò¿¡ ´ëÇÏ¿© »ùÇÃÀÇ ¼ýÀÚ¿Í ½Éº¼ÀÇ »ùÇà ¼ö¿¡ ºñ±³ÇÑ »ùÇÃÀÇ ºñÀ²À» º¸¿©ÁÝ´Ï´Ù.
Ãâ·Â °á°ú¸¦ gprof Çü½ÄÀÎ ÆÄÀÏ·Î »ý¼ºÇÕ´Ï´Ù. ¸¸ÀÏ »ý¼ºµÈ ÆÄÀÏÀÇ À̸§ÀÌ gmon.out À̶ó¸é, gprof¸¦ »ç¿ëÇÏ¿© µ¥ÀÌÅ͸¦ º¸´Ù ÀÚ¼¼ÇÏ°Ô ºÐ¼® °¡´ÉÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ »çÇ×Àº gprof ¸Þ´º¾ó ÆäÀÌÁö¸¦ ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù.
µ¥ÀÌÅ͸¦ º¸´Ù Á¦ÇÑ ¼³Á¤Çϴµ¥ »ç¿ëµÇ´Â ´Ù¸¥ ¿É¼ÇÀº ´ÙÀ½°ú °°½À´Ï´Ù:
ÁöÁ¤µÈ »ùÇà ÆÄÀÏ <file-name>À» »ç¿ëÇÕ´Ï´Ù. ±âº»À¸·Î /var/lib/oprofile/samples/ÀÇ »ùÇà ÆÄÀÏÀÌ »ç¿ëµË´Ï´Ù. ÀÌÀü ¼¼¼Ç¿¡¼ »ç¿ëµÈ »ùÇà ÆÄÀÏÀ» ÁöÁ¤ÇϽ÷Á¸é ÀÌ ¿É¼ÇÀ» »ç¿ëÇϽʽÿÀ.
<file-name>¿¡ µ¥ÀÌÅ͸¦ °Ë»öÇÒ ½ÇÇà°¡´É ÇÁ·Î±×·¥ÀÇ À̸§À» ÀÔ·ÂÇϽʽÿÀ.
C++ ½Éº¼ À̸§À» ÇØµ¶(demangle)ÇÕ´Ï´Ù.
C++ ½Éº¼ À̸§À» ÇØµ¶(demangle)Çϰí STL ¶óÀ̺귯¸® µÚ¼¯ÀÎ À̸§(mangled name)À» ´Ü¼øÈÇÕ´Ï´Ù.
ƯÁ¤ Ä«¿îÅÍ¿¡¼ Á¤º¸¸¦ ¼öÁýÇÕ´Ï´Ù. ¾Æ¹«°Íµµ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é ±âº» Ä«¿îÅÍ´Â 0ÀÔ´Ï´Ù.
°¢ »ùÇÿ¡ »ç¿ëµÇ´Â ¼Ò½º ÄÚµåÀÇ ÁÙ ¹øÈ£¸¦ º¸¿©ÁÝ´Ï´Ù. ½ÇÇà°¡´É ÇÁ·Î±×·¥À» ÄÄÆÄÀϽà GCCÀÇ -g ¿É¼ÇÀ» »ç¿ëÇÏ¼Å¾ß ÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é ÀÌ ¿É¼ÇÀº ÁÙ ¹øÈ£¸¦ º¸¿©ÁÙ ¼ö ¾ø½À´Ï´Ù. ¸ðµç Red Hat Enterprise Linux ½ÇÇà°¡´É ÇÁ·Î±×·¥Àº ÀÌ ¿É¼ÇÀ» °¡Áö°í ÄÄÆÄÀϵÇÁö ¾Ê¾Ò½À´Ï´Ù.
vma samples % symbol name linear info 0806cbb0 0 0 _start ../sysdeps/i386/elf/start.S:47 |
Ãâ·Â °á°ú¿¡¼ ÄÞ¸¶·Î ±¸ºÐµÈ ½Éº¼ ¸ñ·ÏÀ» Á¦¿Ü½Ãŵ´Ï´Ù.
°øÀ¯ ¶óÀ̺귯¸®¸¦ Æ÷ÇÔÇÑ Ãß°¡ ÇàÀ» º¸¿©ÁÝ´Ï´Ù. ÀÌ ¿É¼ÇÀº OProfileÀ» ¼³Á¤½Ã opcontrol ¸í·É¿¡ --separate=library ¿É¼ÇÀÌ ÁöÁ¤µÇ°í ÀÌ ¿É¼Ç°ú ÇÔ²² --dump-gprof-file ¿É¼ÇÀÌ »ç¿ëµÇÁö ¾ÊÀº °æ¿ì¿¡¸¸ °á°ú¸¦ Ãâ·ÂÇÕ´Ï´Ù.
ƯÁ¤ Çà ¼ø¼·Î Ãâ·Â °á°ú¸¦ º¸¿©ÁÝ´Ï´Ù. ÀÌ ¿É¼ÇÀº -g ¿É¼Ç°ú ÇÔ²² »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.
´ÙÀ½ ±ÛÀÚ¸¦ »ç¿ëÇÏ¿© ÇàÀ» Ç¥½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù:
±ÛÀÚ | ¼³¸í |
---|---|
v | °¡»ó ¸Þ¸ð¸® ÁÖ¼Ò |
s | »ùÇà À̸§ |
S | »ùÇÃÀÇ ´©ÀûµÈ ¼ýÀÚ |
p | ½ÇÇà°¡´É ÇÁ·Î±×·¥ÀÇ ÃÑ »ùÇà ¼ö¿¡ ºñ±³ÇÑ »ùÇÃÀÇ ºñÀ² |
P | ½ÇÇà°¡´É ÇÁ·Î±×·¥ÀÇ ÃÑ »ùÇà ¼ö¿¡ ºñ±³ÇÑ ´©ÀûµÈ »ùÇÃÀÇ ºñÀ² |
q | »ùÇà ¼öÁýÇÑ ¸ðµç ½ÇÇà°¡´É ÇÁ·Î±×·¥¿¡ ºñ±³ÇÑ »ùÇÃÀÇ ºñÀ² |
Q | »ùÇà ¼öÁýÇÑ ¸ðµç ½ÇÇà°¡´É ÇÁ·Î±×·¥¿¡ ºñ±³ÇÑ ´©ÀûµÈ »ùÇÃÀÇ ºñÀ² |
n | ½Éº¼ À̸§ |
l | Àüü °æ·Î¸¦ Æ÷ÇÔÇÑ ¼Ò½º ÆÄÀÏÀÇ ÆÄÀÏ¸í ¹× ÁÙ ¹øÈ£ |
L | ¼Ò½º ÄÚµå ÆÄÀÏ À̸§ÀÇ ±âÁØ À̸§ ¹× ÁÙ ¹øÈ£ |
i | Àüü °æ·Î¸¦ Æ÷ÇÔÇÑ ½ÇÇà°¡´É ÇÁ·Î±×·¥ÀÇ À̸§ |
I | ½ÇÇà°¡´É ÇÁ·Î±×·¥ÀÇ ±âÁØ À̸§ |
d | »ùÇà »ó¼¼ Á¤º¸ |
h | Çà Çì´õ¸¦ º¸¿©ÁÜ |
Ç¥ 43-4. Çà ¼ø¼¿¡ »ç¿ëµÇ´Â ±ÛÀÚ
¼¼¼ÇÀ¸·Î Àüü °æ·Î¸¦ ÁöÁ¤Çϰųª /var/lib/oprofile/samples/ µð·ºÅ丮·Î »ó´ë °æ·Î¸¦ ÁöÁ¤ÇÕ´Ï´Ù.
ºÐ¼®ÇÒ ½ÇÇà°¡´É ÇÁ·Î±×·¥ÀÌ À§Ä¡ÇÑ °æ·Î¸¦ ÄÞ¸¶·Î ±¸ºÐµÈ ¸ñ·ÏÀ¸·Î ÁöÁ¤ÇÕ´Ï´Ù.
op_to_source µµ±¸´Â ƯÁ¤ Áö½Ã »çÇ׿¡ µû¶ó¼ ¼Ò½º Äڵ忡¼ »óÀÀÇÏ´Â ÁÙ¿¡ ÀÏÄ¡ÇÏ´Â »ùÇÃÀ» ã½À´Ï´Ù. ÀÌ·¸°ÔÇÏ¿© »ý¼ºµÈ ÆÄÀÏ¿¡´Â ¿ÞÂÊ¿¡ ÁÙ¿¡ ÀÏÄ¡ÇÏ´Â »ùÇÃÀÌ ³ªÅ¸³³´Ï´Ù. ¶ÇÇÑ °¢ ÇÔ¼öÀÇ ½ÃÀÛ ºÎºÐ¿¡ ÇÔ¼öÀÇ ÃÑ »ùÇà ¸ñ·ÏÀ» º¸¿©ÁÖ´Â ÁÖ¼®À» ÷°¡ÇÕ´Ï´Ù.
ÀÌ ÇÁ·Î±×·¥ÀÌ ÀÛµ¿Çϱâ À§Çؼ´Â ½ÇÇà°¡´É ÇÁ·Î±×·¥À» GCCÀÇ -g ¿É¼ÇÀ» »ç¿ëÇÏ¿© ÄÄÆÄÀÏÇØ¾ß ÇÕ´Ï´Ù. µðÆúÆ® °ªÀ¸·Î Red Hat Enterprise Linux ÆÐŰÁö´Â ÀÌ ¿É¼ÇÀ» »ç¿ëÇÏ¿© ÄÄÆÄÀϵÇÁö ¾Ê¾Ò½À´Ï´Ù.
op_to_sourceÀÇ ÀÏ¹Ý ±¸¹®Àº ´ÙÀ½°ú °°½À´Ï´Ù:
op_to_source --source-dir <src-dir> <executable> |
ºÐ¼®ÇÒ ¼Ò½º ÄÚµå¿Í ½ÇÇà°¡´É ÇÁ·Î±×·¥ÀÌ ÀúÀåµÈ µð·ºÅ丮¸¦ ÁöÁ¤ÇÏ¼Å¾ß ÇÕ´Ï´Ù. Ãß°¡ ¸í·ÉÇà ¿É¼Ç ¸ñ·ÏÀ» º¸½Ã·Á¸é op_to_source ¸Þ´º¾ó ÆäÀÌÁö¸¦ ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù.
¸¸ÀÏ µ¿ÀÏÇÑ ½ÇÇà°¡´É ÇÁ·Î±×·¥À̳ª ¶óÀ̺귯¸®¿¡ ¿©·¯ °³ÀÇ »ùÇà ÆÄÀÏÀÌ Á¸ÀçÇÑ´Ù¸é, º¸´Ù ½±°Ô ºÐ¼®ÇÒ ¼ö ÀÖµµ·Ï ÀÌ »ùÇà ÆÄÀϵéÀ» ÇÕº´ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¿¹¸¦ µé¾î ¶óÀ̺귯¸® /usr/lib/library-1.2.3.soÀÇ ÆÄÀϵéÀ» ÇÕº´ÇϽ÷Á¸é, ·çÆ®·Î ·Î±×ÀÎÇϽŠÈÄ ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇϽñ⠹ٶø´Ï´Ù:
op_merge /usr/lib/library-1.2.3.so |
/var/lib/oprofile/samples/}usr}lib}library-1.2.3.so ÆÄÀÏÀÌ »ý¼ºµË´Ï´Ù.
»ùÇÃÀÌ Æ¯Á¤ Ä«¿îÅÍ·Î ÇÕº´µÇµµ·Ï Á¦ÇÑ ¼³Á¤ÇϽ÷Á¸é -c ¿É¼ÇÀ» »ç¿ëÇÏ¿© ÀÌ ¿É¼Ç ´ÙÀ½¿¡ Ä«¿îÅÍ ¹øÈ£¸¦ ÀÔ·ÂÇÏ½Ã¸é µË´Ï´Ù.