2.5. Red Hat Enterprise Linux °ü·Ã Á¤º¸

Red Hat Enterprise Linux¿¡´Â ´Ù¾çÇÑ ÀÚ¿ø ¸ð´ÏÅ͸µ µµ±¸°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ´ÙÀ½¿¡ ¼³¸íµÈ µµ±¸´Â ÀϺο¡ ºÒ°úÇÏÁö¸¸ °¡Àå ´ëÇ¥ÀûÀÎ ¿¹½ÃÀÔ´Ï´Ù:

ÇÑ µµ±¸¾¿ º¸´Ù »ó¼¼È÷ ¼³¸íÇØº¸°Ú½À´Ï´Ù.

2.5.1. free

free ¸í·ÉÀº ½Ã½ºÅÛ ¸Þ¸ð¸® Ȱ¿ë »óŸ¦ º¸¿©ÁÝ´Ï´Ù. ´ÙÀ½Àº Ãâ·Â °á°úÀÇ ¿¹½ÃÀÔ´Ï´Ù:

             total       used       free     shared    buffers     cached
Mem:        255508     240268      15240          0       7592      86188
-/+ buffers/cache:     146488     109020
Swap:       530136      26268     503868

Mem: ÁÙÀº ¹°¸®Àû ¸Þ¸ð¸® Ȱ¿ë·®À» º¸¿©ÁÖ¸ç, Swap: ÁÙÀº ½Ã½ºÅÛ ½º¿Ò °ø°£ÀÇ À̿뷮À» º¸¿©ÁÝ´Ï´Ù. ±×¸®°í -/+ buffers/cache: ÁÙÀº ÇöÀç ½Ã½ºÅÛ ¹öÆÛ¿¡ »ç¿ëµÈ ¹°¸®Àû ¸Þ¸ð¸® ¿ë·®À» ³ªÅ¸³À´Ï´Ù.

free´Â ±âº»ÀûÀ¸·Î ¸Þ¸ð¸® Ȱ¿ë·® Á¤º¸¸¦ Çѹø¸¸ º¸¿©Áֱ⠶§¹®¿¡ ¸Å¿ì ªÀº ¸ð´ÏÅ͸µÀ̳ª ÇöÀç ¸Þ¸ð¸® °ü·Ã ¹®Á¦°¡ ÀÖ´ÂÁö »¡¸® È®ÀÎÇϴµ¥ À¯¿ëÇÏ°Ô »ç¿ëµË´Ï´Ù. ºñ·Ï free¿¡ -s ¿É¼ÇÀ» ÇÔ²² »ç¿ëÇÏ¿© ¹Ýº¹ÀûÀ¸·Î ¸Þ¸ð¸® Ȱ¿ë·® Á¤º¸¸¦ º¸´Â °ÍÀº °¡´ÉÇÏÁö¸¸, Ãâ·Â Á¤º¸°¡ È­¸é¿¡¼­ »¡¸® Áö³ª°¡¹ö¸®±â ¶§¹®¿¡ ¸Þ¸ð¸® Ȱ¿ë·®ÀÇ º¯È­¸¦ ½±°Ô ÆÇµ¶ÇϱⰡ ½±Áö ¾Ê½À´Ï´Ù.

ÈùÆ®ÈùÆ®
 

free¸¦ watch ¸í·É°ú ÇÔ²² »ç¿ëÇÏ´Â °ÍÀÌ free -s º¸´Ù ³ªÀº ÇØ°áÃ¥ÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î ¸Å 2ÃÊ(watch ¸í·ÉÀÇ ±âº» °ª)¸¶´Ù ¸Þ¸ð¸® Ȱ¿ë·® Á¤º¸¸¦ º¸½Ã·Á¸é ´ÙÀ½°ú °°Àº ¸í·ÉÀ» ÀÔ·ÂÇϽʽÿÀ:

watch free

watch ¸í·ÉÀº free ¸í·ÉÀ» ¸Å 2Ãʸ¶´Ù ½ÇÇàÇϸ鼭, ÀÌÀü È­¸éÀ» Áö¿ì°í »õ Ãâ·Â °á°ú¸¦ µ¿ÀÏÇÑ È­¸é¿¡ ¾÷µ¥ÀÌÆ®ÇÕ´Ï´Ù. watch ¸í·ÉÀº ½ºÅ©·Ñ¸µÇÒ Çʿ䰡 ¾øÀÌ ¾÷µ¥ÀÌÆ®µÈ È­¸éÀ¸·Î °á°ú¸¦ Ãâ·ÂÇØÁֱ⠶§¹®¿¡ ¸Þ¸ð¸® Ȱ¿ë·® º¯È­¸¦ º¸´Ù ½±°Ô È®ÀÎ °¡´ÉÇÕ´Ï´Ù. -n ¿É¼ÇÀ» »ç¿ëÇÏ¿© ¾÷µ¥ÀÌÆ® ½Ã°£À» º¯°æÇÒ ¼ö ÀÖÀ¸¸ç, -d ¿É¼ÇÀ» »ç¿ëÇÏ¿© ¾÷µ¥ÀÌÆ®¸¶´Ù º¯°æµÈ »çÇ×À» °­Á¶ÇÏ¿© ³ªÅ¸³ª°Ô ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ¿¹:

watch -n 1 -d free

º¸´Ù ÀÚ¼¼ÇÑ Á¤º¸´Â watch ¸ÇÆäÀÌÁö¸¦ ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù.

watch ¸í·ÉÀº [Ctrl]-[C] ۸¦ ´­·¯ ¸ØÃâ ¶§±îÁö °è¼Ó ½ÇÇàµË´Ï´Ù. watchÀ» ²À ±â¾ïÇØµÎ½Ê½Ã¿À. ¸¹Àº °æ¿ì¿¡ À¯¿ëÇÏ°Ô »ç¿ëÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.

2.5.2. top

free ¸í·ÉÀº ¿ÀÁ÷ ¸Þ¸ð¸® °ü·Ã Á¤º¸¸¸ º¸¿©ÁÖ´Â ¹Ý¸é, top ¸í·ÉÀº CPU Ȱ¿ë·®, ÇÁ·Î¼¼½º »óÅÂ, ¸Þ¸ð¸® Ȱ¿ë·®°ú °°ÀÌ °ÅÀÇ ¸ðµç Á¤º¸¸¦ º¸¿©ÁÝ´Ï´Ù. ¶ÇÇÑ free ¸í·É°ú´Â ´Þ¸® top ¸í·ÉÀº °è¼ÓÀûÀ¸·Î ½ÇÇàµÇµµ·Ï ±âº» ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù. µû¶ó¼­ watch ¸í·ÉÀ» ÇÔ²² »ç¿ëÇÒ Çʿ䰡 ¾ø½À´Ï´Ù. ´ÙÀ½Àº Ãâ·Â °á°úÀÇ ¿¹½ÃÀÔ´Ï´Ù:

 14:06:32  up 4 days, 21:20,  4 users,  load average: 0.00, 0.00, 0.00
77 processes: 76 sleeping, 1 running, 0 zombie, 0 stopped
CPU states:  cpu    user    nice  system    irq  softirq  iowait    idle
           total   19.6%    0.0%    0.0%   0.0%     0.0%    0.0%  180.2%
           cpu00    0.0%    0.0%    0.0%   0.0%     0.0%    0.0%  100.0%
           cpu01   19.6%    0.0%    0.0%   0.0%     0.0%    0.0%   80.3%
Mem:  1028548k av,  716604k used,  311944k free,       0k shrd,  131056k buff
                    324996k actv,  108692k in_d,   13988k in_c
Swap: 1020116k av,    5276k used, 1014840k free                  382228k cached
                                                                                
  PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME CPU COMMAND
17578 root      15   0 13456  13M  9020 S    18.5  1.3  26:35   1 rhn-applet-gu
19154 root      20   0  1176 1176   892 R     0.9  0.1   0:00   1 top
    1 root      15   0   168  160   108 S     0.0  0.0   0:09   0 init
    2 root      RT   0     0    0     0 SW    0.0  0.0   0:00   0 migration/0
    3 root      RT   0     0    0     0 SW    0.0  0.0   0:00   1 migration/1
    4 root      15   0     0    0     0 SW    0.0  0.0   0:00   0 keventd
    5 root      34  19     0    0     0 SWN   0.0  0.0   0:00   0 ksoftirqd/0
    6 root      35  19     0    0     0 SWN   0.0  0.0   0:00   1 ksoftirqd/1
    9 root      15   0     0    0     0 SW    0.0  0.0   0:07   1 bdflush
    7 root      15   0     0    0     0 SW    0.0  0.0   1:19   0 kswapd
    8 root      15   0     0    0     0 SW    0.0  0.0   0:14   1 kscand
   10 root      15   0     0    0     0 SW    0.0  0.0   0:03   1 kupdated
   11 root      25   0     0    0     0 SW    0.0  0.0   0:00   0 mdrecoveryd

ÀÌ ¿¹½Ã´Â µÎ ºÎºÐÀ¸·Î ³ª´µ¾îÁ® ÀÖ½À´Ï´Ù. À­ºÎºÐ¿¡´Â ½Ã½ºÅÛ Àüü »óÅÂ¿Í °ü·ÃµÈ Á¤º¸ — °¡µ¿ ½Ã°£, Æò±Õ ÀÛ¾÷ ºÎÇÏ, ÇÁ·Î¼¼½º °è¼ö, CPU »óÅ ¹× ¸Þ¸ð¸®¿Í ½º¿Ò °ø°£ÀÇ È°¿ë·® »óŸ¦ º¸¿©ÁÝ´Ï´Ù. ¹ØºÎºÐÀ» º¸½Ã¸é ÇÁ·Î¼¼½º ¼öÁØ Åë°è Á¤º¸°¡ ³ªÅ¸³³´Ï´Ù. top ¸í·ÉÀÌ ½ÇÇàµÇ´Â µµÁß¿¡ ³ªÅ¸³ª´Â Á¤º¸¸¦ º¯°æ °¡´ÉÇÕ´Ï´Ù. ¿¹¸¦ µéÀÚ¸é topÀº ±âº»ÀûÀ¸·Î ÈÞÁö »óÅÂÀÇ ÇÁ·Î¼¼½º¿Í ÇöÀç Ȱµ¿ÁßÀÎ ÇÁ·Î¼¼½º¸¦ ¸ðµÎ º¸¿©ÁÝ´Ï´Ù. ±×·¯³ª ÈÞÁö »óÅÂÀÇ ÇÁ·Î¼¼½º¸¸ º¸½Ã·Á¸é [i] ۸¦ ´©¸£½Ã¸é µË´Ï´Ù. ´Ù½Ã ±âº» È­¸é ¸ðµå·Î µ¹¾Æ°¡±â À§Çؼ­´Â ۸¦ Çѹø ´õ ´­·¯ÁֽʽÿÀ.

°æ°í°æ°í
 

top ¸í·ÉÀº ´Ü¼øÇÑ º¸±â ÇÁ·Î±×·¥Ã³·³ º¸ÀÌÁö¸¸ ÀüÇô ±×·¸Áö ¾Ê½À´Ï´Ù. topÀº ÇѴܾ ÀÌ¿ëÇÏ¿© ´Ù¾çÇÑ ÀÛ¾÷À» ¼öÇà °¡´ÉÇÕ´Ï´Ù. ¿¹¸¦ µé¾î ·Î±×·Î ·Î±×ÀÎÇϽаæ¿ì ½Ã½ºÅÛ »ó ÇÁ·Î¼¼½ºÀÇ ¿ì¼± ¼øÀ§¸¦ º¯°æÇϰųª ½ÉÁö¾î´Â ÇÁ·Î¼¼½º¸¦ »èÁ¦(kill)ÇÏ´Â °Íµµ °¡´ÉÇÕ´Ï´Ù. µû¶ó¼­ topÀÇ µµ¿ò¸» È­¸éÀ» [?] ۸¦ ÀÌ¿ëÇÏ¿© ¸ÕÀú Àо½Ã±â ¹Ù¶ø´Ï´Ù. ¾ÆÁ÷ µµ¿ò¸»À» Àо½ÃÁö ¾ÊÀ¸¼Ì´Ù¸é ¹Ù·Î [q]¸¦ ÀÔ·ÂÇÏ¿© top¿¡¼­ ºüÁ®³ª¿À´Â °ÍÀÌ °¡Àå ¾ÈÀüÇÑ ¹æ¹ýÀÔ´Ï´Ù.

2.5.2.1. GNOME ½Ã½ºÅÛ °¨½Ã±âtopÀÇ ±×·¡ÇÈ ¹öÀü

±×·¡ÇÈ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¸¦ ¼±È£ÇϽŴٸé GNOME ½Ã½ºÅÛ °¨½Ã±â°¡ ´õ ¸¶À½¿¡ µå½Ç °ÍÀÔ´Ï´Ù. top°ú ¸¶Âù°¡Áö·Î GNOME ½Ã½ºÅÛ °¨½Ã±â´Â ½Ã½ºÅÛ Àüü »óÅÂ, ÇÁ·Î¼¼½º °è¼ö, ¸Þ¸ð¸® ¹× ½º¿Ò Ȱ¿ë·®, ÇÁ·Î¼¼½º ¼öÁØ »óÅ Á¤º¸¸¦ º¸¿©ÁÝ´Ï´Ù.

±×·¯³ª GNOME ½Ã½ºÅÛ °¨½Ã±â´Â ÇÑ´Ü°è ´õ ³ª¾Æ°¡¼­ µð½ºÅ© °ø°£ Ȱ¿ë·®À» Ç¥·Î ³ªÅ¸³¾ »Ó¸¸ ¾Æ´Ï¶ó CPU, ¸Þ¸ð¸®, ½º¿Ò Ȱ¿ë·®À» ±×·¡ÇÈÀ¸·Î º¸¿©ÁÝ´Ï´Ù. GNOME ½Ã½ºÅÛ °¨½Ã±âÀÇ ÇÁ·Î¼¼½º ¸ñ·Ï âÀÇ ¿¹½Ã´Â ±×¸² 2-1¿¡¼­ º¸¿©ÁÝ´Ï´Ù.

±×¸² 2-1. GNOME ½Ã½ºÅÛ °¨½Ã±â ÇÁ·Î¼¼½º ¸ñ·Ï â

ƯÁ¤ ÇÁ·Î¼¼½º¿¡ ´ëÇÑ Ãß°¡ Á¤º¸¸¦ º¸½Ã·Á¸é ¿øÇÏ´Â ÇÁ·Î¼¼½º¿¡ ¸ÕÀú Ŭ¸¯ÇϽŠÈÄ ÀÚ¼¼ÇÑ Á¤º¸ ¹öưÀ» Ŭ¸¯ÇÏ½Ã¸é µË´Ï´Ù.

CPU, ¸Þ¸ð¸®, µð½ºÅ© »ç¿ë·® Á¤º¸¸¦ º¸½Ã·Á¸é ½Ã½ºÅÛ °¨½Ã±â ÅÇÀ» Ŭ¸¯ÇϽʽÿÀ.

2.5.3. vmstat

½Ã½ºÅÛ ¼º´É¿¡ ´ëÇÑ º¸´Ù ÀÚ¼¼ÇÑ Á¤º¸¸¦ ¾ò°í ½Í´Ù¸é, vmstat ¸í·ÉÀ» »ç¿ëÇØº¸½Ê½Ã¿À. vmstatÀ» »ç¿ëÇÏ¿© ÇÁ·Î¼¼½º, ¸Þ¸ð¸®, ½º¿Ò, ÀÔÃâ·Â, ½Ã½ºÅÛ ¹× CPU Ȱµ¿ »óȲ¿¡ ´ëÇÑ Á¤º¸¸¦ ´ÙÀ½°ú °°ÀÌ ÇÑÁÙ·Î º¼ ¼ö ÀÖ½À´Ï´Ù:

procs                      memory      swap          io     system         cpu
 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
 0  0   5276 315000 130744 380184    1    1     2    24   14    50  1  1 47  0
        

ù¹øÂ° ÁÙÀº ÇÁ·Î¼¼½º, ¸Þ¸ð¸®, ½º¿Ò, ÀÔÃâ·Â, ½Ã½ºÅÛ ¹× CPU °ü·Ã Åë°èÀÎ 6 ºÎºÐÀ¸·Î ³ª´µ¾îÀÖ½À´Ï´Ù. µÎ¹øÂ° ÁÙÀº °¢ Ç׸ñÀ» º¸´Ù »ó¼¼ÇÏ°Ô ±¸ºÐÇÏ¿© ƯÁ¤ Åë°è¿¡ ´ëÇÑ µ¥ÀÌÅ͸¦ ºü¸£°Ô °¨½ÃÇÒ ¼ö ÀÖ°Ô ÇØÁÝ´Ï´Ù.

ÇÁ·Î¼¼½º °ü·Ã Ç׸ñ:

¸Þ¸ð¸® °ü·Ã Ç׸ñ:

½º¿Ò °ü·Ã Ç׸ñ:

ÀÔÃâ·Â °ü·Ã Ç׸ñ:

½Ã½ºÅÛ °ü·Ã Ç׸ñ:

CPU °ü·Ã Ç׸ñ:

vmstat ¸í·ÉÀ» ¾Æ¹«·± ¿É¼Ç ¾øÀÌ ÀÔ·ÂÇÑ °æ¿ì ÇÑ ÁÙ¸¸ Ãâ·ÂµË´Ï´Ù. ÀÌ ÁÙ¿¡´Â ½Ã½ºÅÛÀÌ ¸¶Áö¸·À¸·Î ºÎÆÃµÈ ÀÌÈÄ Æò±Õ°ªÀ» º¸¿©ÁÝ´Ï´Ù.

±×·¯³ª ½Ã°£ÀÌ Áö³²¿¡ µû¶ó Á¤º¸°¡ º¯°æµÇ¹Ç·Î ´ëºÎºÐÀÇ ½Ã½ºÅÛ °ü¸®ÀÚ´Â ÇÑÁÙ·Î ³ªÅ¸³­ ÀÚ·á¿¡ ÀÇÁ¸ÇÏÁö ¾Ê½À´Ï´Ù. ´ë½Å vmstat´Â Á¤ÇØÁø °£°Ý¿¡ ÀÚ¿ø Ȱ¿ë·® Á¤º¸¸¦ ¹Ýº¹ÀûÀ¸·Î º¸¿©ÁÖ´Â ÀåÁ¡ÀÌ ÀÖÀ¸¸ç, ¸¹Àº ½Ã½ºÅÛ °ü¸®ÀÚ ºÐµéÀº ÀÌ Á¡À» Ȱ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î vmstat 1¶ó°í ÀÔ·ÂÇÏ¸é ¸ÅÃʸ¶´Ù Ȱ¿ë Á¤º¸¸¦ »õ ÁÙ¿¡ Ç¥½ÃÇÕ´Ï´Ù. ¸¸ÀÏ vmstat 1 10À̶ó°í ÀÔ·ÂÇÏ½Ã¸é ¿ÀÁ÷ 10ÃÊ µ¿¾È ¸ÅÃʸ¶´Ù Á¤º¸¸¦ È­¸é¿¡ Ç¥½ÃÇÕ´Ï´Ù.

¼÷·ÃµÈ °ü¸®ÀÚ¶ó¸é vmstat¸¦ »ç¿ëÇÏ¿© ÀÚ¿ø Ȱ¿ë Á¤º¸ ¹× ¼º´É °ü·Ã ¹®Á¦Á¡À» Àçºü¸£°Ô ¾Ë¾Æ³¾ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª ÀÌ·¯ÇÑ »çÇ׿¡ ´ëÇÑ º¸´Ù ÀÚ¼¼ÇÑ Á¤º¸¸¦ ¾Ë¾Æ³»±â À§Çؼ­´Â º¸´Ù ½ÉÃþ±íÀº ÀڷḦ ¸ðÀ¸°í ºÐ¼® °¡´ÉÇÑ µµ±¸°¡ ÇÊ¿äÇÕ´Ï´Ù.

2.5.4. Sysstat ÀÚ¿ø °¨½Ã µµ±¸ ¸ðÀ½

¾Õ¼­ ¼³¸íµÈ µµ±¸µéÀº ´Ü±â°£ ½Ã½ºÅÛ ¼º´É¿¡ ´ëÇÑ Á¤º¸¸¦ È®ÀÎÇϴµ¥ À¯¿ëÇÏÁö¸¸, °£´ÜÇÑ ½Ã½ºÅÛ ÀÚ¿ø Ȱ¿ë·®¿¡ ´ëÇÑ Á¤º¸¸¦ Á¦°øÇÏ´Â °Í ÀÌ»óÀÇ ¿ªÇÒÀ» ÇÏÁö´Â ¸øÇÕ´Ï´Ù. ½Ã½ºÅÛ ¼º´ÉÀ» °¨½ÃÇϴµ¥ À־ ÀÌ·¯ÇÑ ´Ü¼øÇÑ µµ±¸·Î´Â ¾Ë¾Æ³¾ ¼ö ¾ø´Â °æ¿ìµµ ÀÖ½À´Ï´Ù.

µû¶ó¼­ Sysstat°ú °°Àº º¸´Ù Á¤±³ÇÑ µµ±¸°¡ ÇÊ¿äÇÕ´Ï´Ù.

SysstatÀÇ ÀÔÃâ·Â Åë°è¿Í CPU Åë°è ÀڷḦ ¼öÁý µµ±¸´Â ´ÙÀ½°ú °°½À´Ï´Ù:

iostat

ÇѰ³ ÀÌ»óÀÇ µð½ºÅ© µå¶óÀ̺꿡 ´ëÇÑ ÀÔÃâ·Â Åë°è¿Í ÇÔ²² Àüü CPU Ȱ¿ë·®À» º¸¿©ÁÝ´Ï´Ù.

mpstat

º¸´Ù »ó¼¼ÇÑ CPU Ȱ¿ë·® Á¤º¸¸¦ º¸¿©ÁÝ´Ï´Ù.

SysstatÀº ½Ã½ºÅÛ ÀÚ¿ø Ȱ¿ë Á¤º¸¸¦ ¼öÁý ÈÄ ÀÌ ÀڷḦ ¹ÙÅÁÀ¸·Î ¸ÅÀÏ ¸®Æ÷Æ®¸¦ »ý¼ºÇÏ´Â µµ±¸µµ Æ÷ÇÔÇÕ´Ï´Ù. ÀÌ·¯ÇÑ µµ±¸´Â ´ÙÀ½°ú °°½À´Ï´Ù:

sadc

sadc´Â system activity data collectorÀÇ ÁÙÀÓ¸»·Î¼­ ½Ã½ºÅÛ ÀÚ¿ø Ȱ¿ë Á¤º¸¸¦ ¸ðÀº ÈÄ ÆÄÀÏ¿¡ ±â·ÏÇÕ´Ï´Ù.

sar

sadc°¡ »ý¼ºÇÑ ÆÄÀÏ¿¡¼­ ¸®Æ÷Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù. sar ¸®Æ÷Æ®´Â »óÈ£´ëÈ­½ÄÀ¸·Î »ý¼ºÇϰųª º¸´Ù öÀúÇÑ ºÐ¼®À» À§ÇÏ¿© ÆÄÀÏ¿¡ ±â·Ï °¡´ÉÇÕ´Ï´Ù.

´ÙÀ½¿¡¼­´Â ÀÌ µµ±¸µé¿¡ ´ëÇÏ¿© º¸´Ù ÀÚ¼¼ÇÏ°Ô ¼³¸íÇØº¸°Ú½À´Ï´Ù.

2.5.4.1. iostat ¸í·É

°¡Àå ±âº»ÀûÀÎ iostat ¸í·ÉÀº CPU ¹× µð½ºÅ© ÀÔÃâ·Â Åë°è¿¡ ´ëÇÑ ±âº» Á¤º¸¸¦ º¸¿©ÁÝ´Ï´Ù:

Linux 2.4.20-1.1931.2.231.2.10.ent (pigdog.example.com)      07/11/2003

avg-cpu:  %user   %nice    %sys   %idle
           6.11    2.56    2.15   89.18

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
dev3-0            1.68        15.69        22.42   31175836   44543290
          

½Ã½ºÅÛ Ä¿³Î ¹öÀü, È£½ºÆ®¸í, ³¯Â¥°¡ º¸À̴ ù¹øÂ° ÁÙ ¹Ù·Î ¾Æ·¡¿¡ iostat´Â ¸¶Áö¸·À¸·Î ÀçºÎÆÃ ÈÄ ½Ã½ºÅÛ Æò±Õ CPU Ȱ¿ë·üÀ» º¸¿©ÁÝ´Ï´Ù. CPU Ȱ¿ë·ü Á¤º¸´Â ´ÙÀ½°ú °°ÀÌ ±¸ºÐµÇ¾î ¹éºÐÀ²·Î Ç¥½ÃµË´Ï´Ù:

  • »ç¿ëÀÚ ¸ðµå (¾îÇø®ÄÉÀÌ¼Ç ½ÇÇàÇϱ⠵î)¿¡ ¼Ò¸ðµÈ ½Ã°£ (¹éºÐÀ²)

  • »ç¿ëÀÚ ¸ðµå (nice(2)¸¦ »ç¿ëÇÏ¿© ½ºÄÉÁ층 ¿ì¼± ¼øÀ§°¡ ¹Ù²ï ÇÁ·Î¼¼½º)¿¡ ¼Ò¸ðµÈ ½Ã°£ (¹éºÐÀ²)

  • Ä¿³Î ¸ðµå¿¡ ¼Ò¸ðµÈ ½Ã°£ (¹éºÐÀ²)

  • ÈÞÁö »óÅ ½Ã°£ (¹éºÐÀ²)

´ÙÀ½¿¡ ³ª¿Â CPU Ȱ¿ë·® ¸®Æ÷Æ®´Â ÀåÄ¡ Ȱ¿ë·® ¸®Æ÷Æ®ÀÔ´Ï´Ù. ÀÌ ¸®Æ÷Æ®¿¡´Â ½Ã½ºÅÛ »ó¿¡¼­ Ȱ¼ºÈ­µÈ °¢ µð½ºÅ© ÀåÄ¡¿¡ ´ëÇÑ È°¿ë·® Á¤º¸ ÇÑÁÙ¿¡ º¸¿©ÁÖ¸ç, ´ÙÀ½°ú °°Àº Á¤º¸µµ Æ÷ÇÔÇÕ´Ï´Ù:

  • ÀåÄ¡ ¼³¸í, dev<major-number>-sequence-number¶ó°í ³ªÅ¸³ª¸ç ¿©±â¼­ <major-number>´Â ÀåÄ¡ÀÇ major ¹øÈ£[1]¸¦ ÀǹÌÇϸç, <sequence-number>´Â 0À¸·Î ½ÃÀÛÇÏ´Â ÀåÄ¡ ¼ø¼­ ¹øÈ£¸¦ ¸»ÇÕ´Ï´Ù.

  • ÀÏÃÊ´ç Àü¼Û (ÀÔÃâ·Â ÀÛ¾÷) ¼ö

  • ÀÏÃÊ´ç ÀÐÇôÁø 512 ¹ÙÀÌÆ® ºí·Ï¼ö

  • ÀÏÃÊ´ç ¾²¿©Áø 512 ¹ÙÀÌÆ® ºí·Ï¼ö

  • Áö±Ý±îÁö ÀÐÇôÁø ÃÑ 512 ¹ÙÀÌÆ® ºí·Ï¼ö

  • Áö±Ý±îÁö ¾²¿©Áø ÃÑ 512 ¹ÙÀÌÆ® ºí·Ï¼ö

À̰ÍÀº iostat »ç¿ëÇÏ¿© ¾òÀ» ¼ö ÀÖ´Â Á¤º¸ÀÇ ÀϺο¡ ºÒ°úÇÕ´Ï´Ù. º¸´Ù ÀÚ¼¼ÇÑ Á¤º¸¸¦ ¿øÇϽŴٸé iostat(1) ¸ÇÆäÀÌÁö¸¦ ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù.

2.5.4.2. mpstat ¸í·É

óÀ½ º¸±â¿¡ mpstat ¸í·ÉÀº iostatÀÌ »ý¼ºÇÑ CPU Ȱ¿ë·® ¸®Æ÷Æ®¿Í º°¹Ý ´Ù¸¦¹Ù°¡ ¾ø´Ù°í ´À³¢½Ç ¼öµµ ÀÖ½À´Ï´Ù:

Linux 2.4.20-1.1931.2.231.2.10.ent (pigdog.example.com)      07/11/2003

07:09:26 PM  CPU   %user   %nice %system   %idle    intr/s
07:09:26 PM  all    6.40    5.84    3.29   84.47    542.47
          

ÀÏÃÊ´ç CPU¿¡ ÀÇÇØ ó¸®µÈ ÀÎÅÍ·´Æ®¼ö¸¦ º¸¿©ÁÖ´Â ÇàÀÌ Ãß°¡µÈ °ÍÀ» Á¦¿ÜÇϸé, ½ÇÁ¦·Î º° Â÷ÀÌ´Â ¾ø½À´Ï´Ù. ±×·¯³ª ¸¸ÀÏ mpstat ¸í·ÉÀ» -P ALL ¿É¼Ç°ú ÇÔ²² »ç¿ëÇÏ½Ã¸é ´Ù¸¥ °á°ú¸¦ º¸½Ç ¼ö ÀÖ½À´Ï´Ù:

Linux 2.4.20-1.1931.2.231.2.10.ent (pigdog.example.com)      07/11/2003

07:13:03 PM  CPU   %user   %nice %system   %idle    intr/s
07:13:03 PM  all    6.40    5.84    3.29   84.47    542.47
07:13:03 PM    0    6.36    5.80    3.29   84.54    542.47
07:13:03 PM    1    6.43    5.87    3.29   84.40    542.47
          

mpstatÀº ¸ÖƼÇÁ·Î¼¼¼­ ½Ã½ºÅÛ¿¡¼­ °¢ CPU¿¡ ´ëÇÑ È°¿ë·® Á¤º¸¸¦ °³º°ÀûÀ¸·Î º¸¿©Áֱ⠶§¹®¿¡ °¢ CPUÀÇ »ç¿ë ÇöȲÀ» º¸´Ù È¿À²ÀûÀ¸·Î È®ÀÎÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.

2.5.4.3. sadc ¸í·É

¾Õ¼­ ¾ð±ÞÇßµíÀÌ sadc ¸í·ÉÀº ½Ã½ºÅÛ È°¿ë·® Á¤º¸¸¦ ¼öÁýÇÏ¿© ÇâÈÄ ºÐ¼®À» À§ÇØ ÆÄÀÏ¿¡ ±â·ÏÇÕ´Ï´Ù. ÀÌ Á¤º¸´Â /var/log/sa/ µð·ºÅ丮¿¡ sa<dd>¶ó´Â ÆÄÀϸíÀ¸·Î ÀúÀåµË´Ï´Ù. ¿©±â¼­ <dd> ºÎºÐÀº ÆÄÀÏÀÌ »ý¼ºµÈ ³¯Â¥¸¦ ÀǹÌÇÕ´Ï´Ù.

sadc´Â º¸Åë sa1 ½ºÅ©¸³Æ®¿¡ ÀÇÇØ ½ÇÇàµË´Ï´Ù. ÀÌ ½ºÅ©¸³Æ®´Â /etc/cron.d/¿¡ À§Ä¡ÇÑ sysstat ÆÄÀÏÀ» ÅëÇØ ÁÖ±âÀû cron ÀÛ¾÷À¸·Î ½ÇÇàµË´Ï´Ù. sa1 ½ºÅ©¸³Æ®´Â sadc¸¦ ÀÏÃʰ£ Çѹø ½ÇÇàÇÏÁö¸¸, cronÀº ¸Å 10ºÐ¸¶´Ù sa1¸¦ ½ÇÇàÇϵµ·Ï ±âº» ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô ¼öÁýµÈ ÀÚ·á´Â /var/log/sa/sa<dd> ÆÄÀÏ·Î ÀúÀåµË´Ï´Ù.

2.5.4.4. sar ¸í·É

±× ÈÄ sar ¸í·ÉÀº sadc¿¡ ÀÇÇØ ¼öÁýµÈ ÀڷḦ ±âÃÊ·Î ½Ã½ºÅÛ È°¿ë·® ¸®Æ÷Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù. Red Hat Enterprise Linux´Â sadc¿¡ ÀÇÇØ ¼öÁýµÈ ÆÄÀÏÀ» sar°¡ ÀÚµ¿À¸·Î ó¸®Çϵµ·Ï ¼³Á¤µÇ¾ú½À´Ï´Ù. ÀÌ ¸®Æ÷Æ® ÆÄÀÏÀº /var/log/sa/ µð·ºÅ丮¿¡ sar<dd>À̶ó´Â ÆÄÀϸíÀ¸·Î ÀúÀåµË´Ï´Ù. ¿©±â¼­ <dd>´Â ÇÏ·çÀü ³¯Â¥¸¦ ³ªÅ¸³À´Ï´Ù.

sar´Â º¸Åë sa2 ½ºÅ©¸³Æ®¿¡ ÀÇ ÇØ ½ÇÇàµÇ¸ç, ÀÌ ½ºÅ©¸³Æ®´Â /etc/cron.d/ µð·ºÅ丮¿¡ À§Ä¡ÇÑ sysstat¿¡¼­ cron¿¡ ÀÇÇØ ½ÇÇàµË´Ï´Ù. cronÀº sa2¸¦ ÇÏ·ç¿¡ Çѹø 23:53¿¡ ½ÇÇàÇÏ¿© ÇÏ·ç µ¿¾È ¼öÁýÇÑ ÀÚ·á¿¡ ´ëÇÑ ¸®Æ÷Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

2.5.4.4.1. sar ¸®Æ÷Æ® Àбâ

Red Hat Enterprise LinuxÀÇ ±âº» ¼³Á¤À» »ç¿ëÇÏ¿© ÀÛ¼ºµÈ sar ¸®Æ÷Æ® Çü½ÄÀº ¿©·¯ ºÎºÐÀ¸·Î ³ª´©¾îÁý´Ï´Ù. °¢ ºÎºÐÀº µ¥ÀÌÅÍ À¯Çü¿¡ µû¶ó ±¸ºÐµÇ¾î ÀÖÀ¸¸ç µ¥ÀÌÅ͸¦ ¼öÁýÇÑ ½Ã°£ ¼ø¼­´ë·Î Á¤·ÄµË´Ï´Ù. sadc´Â ¸Å 10ºÐ¸¶´Ù 1Ãʰ£ ½ÇÇàµÇµµ·Ï ¼³Á¤µÇ¾î ÀÖÀ¸¹Ç·Î, ±âº» sar ¸®Æ÷Æ®´Â 00:00ºÎÅÍ 23:50ºÐ »çÀÌ¿¡ ¸Å 10ºÐ¸¶´Ù ¼öÁýµÈ ÀڷḦ Æ÷ÇÔÇÕ´Ï´Ù[2].

¸®Æ÷Æ®´Â °¢ ºÎºÐ¿¡ ´ëÇÑ ¼³¸íÀ» ´ãÀº Á¦¸ñÀ¸·Î ½ÃÀÛÇÕ´Ï´Ù. ÆäÀÌÁö¿¡ °ÉÃÄ ÀÐ±â ÆíÇÏ°Ô Á¦¸ñÀº ÆäÀÌÁö¸¶´Ù ¹Ýº¹µË´Ï´Ù. °¢ ºÎºÐÀÇ ¸¶Áö¸· ÁÙ¿¡´Â ±× ºÎºÐ¿¡ ±â·ÏµÈ ÀÚ·áÀÇ Æò±Õ°ªÀÌ ³ªÅ¸³³´Ï´Ù.

´ÙÀ½Àº sar ¸®Æ÷Æ®ÀÇ ÀϺκР¿¹½ÃÀÔ´Ï´Ù. °ø°£À» ¾Æ³¢±â À§ÇÏ¿© 00:30 ºÎÅÍ 23:40 »çÀÌÀÇ ÀÚ·á´Â »ý·«ÇÏ¿´½À´Ï´Ù:

00:00:01          CPU     %user     %nice   %system     %idle
00:10:00          all      6.39      1.96      0.66     90.98
00:20:01          all      1.61      3.16      1.09     94.14
…
23:50:01          all     44.07      0.02      0.77     55.14
Average:          all      5.80      4.99      2.87     86.34
            

À̰÷¿¡¼­ ³ªÅ¸³­ CPU Ȱ¿ë·® Á¤º¸´Â iostat ¸í·ÉÀÇ Ãâ·Â °á°ú°ú ¸Å¿ì À¯»çÇÕ´Ï´Ù.

´Ù¸¥ ºÎºÐ¿¡¼­´Â ½Ã°£ ´ç ÇÑÁÙ ÀÌ»óÀÇ ÀÚ·á°¡ ³ªÅ¸³¯ °æ¿ìµµ ÀÖ½À´Ï´Ù. ´ÙÀ½ ¿¹½Ã¿¡¼­Ã³·³ ÀÌÁß ÇÁ·Î¼¼¼­ ½Ã½ºÅÛÀÇ °æ¿ì °¢ CPU´ç Ȱ¿ë·® Á¤º¸°¡ µÎÁÙ·Î ³ªÅ¸³³´Ï´Ù:

00:00:01          CPU     %user     %nice   %system     %idle
00:10:00            0      4.19      1.75      0.70     93.37
00:10:00            1      8.59      2.18      0.63     88.60
00:20:01            0      1.87      3.21      1.14     93.78
00:20:01            1      1.35      3.12      1.04     94.49
…
23:50:01            0     42.84      0.03      0.80     56.33
23:50:01            1     45.29      0.01      0.74     53.95
Average:            0      6.00      5.01      2.74     86.25
Average:            1      5.61      4.97      2.99     86.43
            

±âº» Red Hat Enterprise Linux sar ¼³Á¤À» ÀÌ¿ëÇÏ¿© »ý¼ºµÈ ¸®Æ÷Æ®´Â ÃÑ 17 ºÎºÐÀ¸·Î ³ª´µ¾îÁý´Ï´Ù. ÀϺΠºÎºÐ¿¡ ´ëÇØ¼­´Â ÀÌÈÄ ¿©·¯ Àå¿¡¼­ ¼º¸íµÉ °ÍÀÔ´Ï´Ù. °¢ ºÎºÐ¿¡ ¼ÓÇÑ ÀÚ·á¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸¸¦ ¿øÇϽŴٸé, sar(1) ¸Þ´º¾ó ÆäÀÌÁö¸¦ ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù.

2.5.5. OProfile

OProfile ½Ã½ºÅÛ Àüü ÇÁ·ÎÆÄÀÏ·¯´Â ÀÛ¾÷ ºÎÇϰ¡ ³·Àº ¼º´É °¨½Ã µµ±¸ÀÔ´Ï´Ù. OProfileÀº ÇÁ·Î¼¼¼­ÀÇ ¼º´É °¨½Ã Çϵå¿þ¾î[3]¸¦ »ç¿ëÇÏ¿© ¼º´É °ü·Ã ¹®Á¦Á¡À» ã¾Æ³À´Ï´Ù.

¼º´É °¨½Ã Çϵå¿þ¾î´Â ÇÁ·Î¼¼¼­ ÀÚüÀÇ ÀϺημ­, ¾î¶°ÇÑ »óȲ(¿¹, ÇÁ·Î¼¼¼­°¡ ÈÞÁö »óŰ¡ ¾Æ´Ï°Å³ª ¿äûµÈ µ¥ÀÌÅͰ¡ ij½Ã¿¡ ¾øÀ» °æ¿ì)ÀÌ ¹ß»ýÇÒ ¶§¸¶´Ù ¼ýÀÚ°¡ Çϳª¾¿ Áõ°¡µÇ´Â Ư¼ö °è¼ö±â(counter)ÀÔ´Ï´Ù. ÀϺΠÇÁ·Î¼¼¼­¿¡¼­´Â ÀÌ·¯ÇÑ °è¼ö±â°¡ ÇѰ³ ÀÌ»ó Á¸ÀçÇϱ⠶§¹®¿¡, ¿©·¯ ´Ù¸¥ »óȲ¿¡ µû¶ó ´Ù¸¥ °è¼ö±â¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ°Ô ÇØÁÝ´Ï´Ù.

°è¼ö±â´Â ÃʱⰪÀ¸·Î ·ÎµùµÈ ÈÄ °è¼ö±â °ªÀÌ ÇѰ迡 À̸¦¶§(overflow)¸¶´Ù ÀÎÅÍ·´Æ® ½ÅÈ£¸¦ ³»º¸³À´Ï´Ù. ¼­·Î ´Ù¸¥ ÃʱⰪÀ¸·Î °è¼ö±â¸¦ ·ÎµùÇÏ¿© ÀÎÅÍ·´Æ®°¡ ´Ù¸¥ ½Ã°¢¿¡ ¹ß»ýÇÏ°Ô ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô ÇÔÀ¸·Î¼­ º¸´Ù Á¤È®ÇÑ ¼Óµµ »ùÇÃÀ» ãÀ» ¼ö ÀÖÀ¸¸ç, µû¶ó¼­ º¸´Ù »ó¼¼ÇÑ Á¤º¸¸¦ ¼öÁý °¡´ÉÇØÁý´Ï´Ù.

±Ø´ÜÀûÀÎ °æ¿ì¿¡´Â ¸Å¹ø ¿À¹öÇ÷οì ÀÎÅÍ·´Æ®¸¦ ¹ß»ýÇϵµ·Ï °è¼ö±â¸¦ ¼³Á¤ÇÔÀ¸·Î¼­ ¸Å¿ì »ó¼¼ÇÑ ¼º´É Á¤º¸¸¦ ¼öÁýÇÒ ¼ö ÀÖÁö¸¸, ±×¸¸Å­ ÀÛ¾÷ ºÎÇϰ¡ ³ô¾ÆÁý´Ï´Ù. ¶Ç ´Ù¸¥ ±Ø´ÜÀûÀÎ ¿¹·Î¼­ °è¼ö±â°¡ ÀÎÅÍ·´Æ®¸¦ ÃÖ¼ÒÇÑ ¹ß»ýÇϵµ·Ï ¼³Á¤ÇÏ½Ã¸é °¡Àå ±âº»ÀûÀÎ ½Ã½ºÅÛ ¼º´É Á¤º¸¸¸ »ý¼ºÇÏ°Ô µÇ¸ç, ÀÌ·¯ÇÑ °æ¿ì ÀÛ¾÷ ºÎÇÏ´Â °ÅÀÇ 0¿¡ °¡±õ½À´Ï´Ù. °¡Àå È¿À²ÀûÀÎ ¸ð´ÏÅ͸µÀ» À§Çؼ­´Â ¿øÇÏ´Â ÀڷḦ ÃæºÐÈ÷ ¼öÁýÇÒ ¼ö ÀÖµµ·Ï ¼Óµµ¸¦ ¼±ÅÃÇϵÇ, ¼º´É ¸ð´ÏÅ͸µÀ¸·Î ÀÎÇÑ ½Ã½ºÅÛ ÀÛ¾÷ ºÎÇϰ¡ ³Ê¹« ³ôÁö ¾Êµµ·Ï ¼³Á¤ÇÏ¼Å¾ß ÇÕ´Ï´Ù.

°æ°í°æ°í
 

OProfileÀÌ ³ôÀº ÀÛ¾÷ ºÎÇϸ¦ ÃÊ·¡Çϵµ·Ï ¼³Á¤ÇÏ½Ã¸é ½Ã½ºÅÛÀ» »ç¿ëÇÏÁö ¸øÇÏ°Ô µÉ »óȲÀÌ ¹ß»ýÇÒ ¼öµµ ÀÖ½À´Ï´Ù. µû¶ó¼­ °è¼ö±â °ªÀº ½ÅÁßÇÏ°Ô ¼±ÅÃÇϼžßÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ÀÌÀ¯·Î opcontrol ¸í·ÉÀº --list-events ¿É¼ÇÀ» Áö¿øÇÕ´Ï´Ù. ÀÌ ¿É¼ÇÀ» ÇÔ²² ÀÔ·ÂÇϽøé ÇöÀç ¼³Ä¡µÈ ÇÁ·Î¼¼¼­¿¡ »ç¿ë °¡´ÉÇÑ À̺¥Æ® À¯Çü ¹× °¢ À¯Çü¸¶´Ù ÃÖ¼Ò °è¼ö±â ±ÇÀå°ªÀ» º¸¿©ÁÝ´Ï´Ù.

OProfileÀ» »ç¿ëÇϽǶ§´Â »ùÇà ¼Óµµ¿Í ÀÛ¾÷ ºÎÇϰ£ÀÇ Àå´ÜÁ¡À» ²À ¿°µÎÇϽñ⠹ٶø´Ï´Ù.

2.5.5.1. OProfile ±¸¼º ¿ä¼Ò

OProfileÀº ´ÙÀ½°ú °°Àº ¿ä¼Ò·Î ±¸¼ºµË´Ï´Ù:

  • Á¤º¸ ¼öÁý ¼ÒÇÁÆ®¿þ¾î

  • Á¤º¸ ºÐ¼® ¼ÒÇÁÆ®¿þ¾î

  • °ü¸®ÀÚ ÀÎÅÍÆäÀ̽º ¼ÒÇÁÆ®¿þ¾î

oprofile.o Ä¿³Î ¸ðµâ°ú oprofiled µ¥¸óÀ¸·Î ±¸¼ºµÈ Á¤º¸ ¼öÁý ¼ÒÇÁÆ®¿þ¾î.

´ÙÀ½°ú °°Àº ÇÁ·Î±×·¥À» Æ÷ÇÔÇÑ Á¤º¸ ºÐ¼® ¼ÒÇÁÆ®¿þ¾î:

op_time

°¢ ½ÇÇà ÆÄÀÏ¿¡ ´ëÇÑ »ùÇüö¿Í »ó´ëÀû ÆÛ¼¾Æ® ºñÀ²À» º¸¿©ÁÜ

oprofpp

ÇÔ¼ö³ª °³º° ¸í·É¾î¸¦ ÀÌ¿ëÇÏ¿© ¼öÁýÇÑ »ùÇüö¿Í »ó´ëÀû ÆÛ¼¾Æ® ºñÀ²À» º¸¿©Áְųª, gprof ¸í·É Çü½ÄÀÇ °á°ú·Î Ãâ·ÂÇÔ

op_to_source

ÁÖ¼®ÀÌ Æ÷ÇÔµÈ ¼Ò½º ÄÚµå ¹× ¾î¼Àºí¸® ¸ñ·ÏÀ» º¸¿©ÁÜ

op_visualise

¼öÁýµÈ ÀڷḦ ±×·¡ÇÈÀ¸·Î º¸¿©ÁÜ

ÀÌ·¯ÇÑ ÇÁ·Î±×·¥À» ÀÌ¿ëÇÏ¿© ¼öÁýµÈ Á¤º¸¸¦ ¿©·¯°¡Áö ¹æ½ÄÀ¸·Î º¸±â °¡´ÉÇÕ´Ï´Ù.

°ü¸®ÀÚ ÀÎÅÍÆäÀ̽º ¼ÒÇÁÆ®¿þ¾î¸¦ ÀÌ¿ëÇÏ¿© ¾î¶°ÇÑ À̺¥Æ®¸¦ ¸ð´ÏÅÍÇÒ °ÍÀÎÁöºÎÅÍ ¼öÁý ÀÛ¾÷ÀÇ ½ÃÀÛ¿¡¼­ ¿Ï·áÇϱ⿡ À̸£±â±îÁö Á¤º¸ ¼öÁý¿¡ ´ëÇÑ ¸ðµç Ãø¸éÀ» ¼³Á¤ °¡´ÉÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ÀÛ¾÷¿¡´Â opcontrol ¸í·ÉÀÌ »ç¿ëµË´Ï´Ù.

2.5.5.2. OProfile ¼¼¼Ç ¿¹½Ã

¿©±â¼­´Â Ãʱ⠼³Á¤ºÎÅÍ ¸¶Áö¸· ÀÚ·á ºÐ¼®¿¡ À̸£±â±îÁöÀÇ OProfile ¸ð´ÏÅ͸µ ¹× ÀÚ·á ºÐ¼® ¼¼¼ÇÀ» º¸¿©ÁÝ´Ï´Ù. À̰÷¿¡ ¼³¸íµÈ ³»¿ëÀº ±âº»ÀûÀÎ ¼Ò°³¿¡ ºÒ°úÇϸç, º¸´Ù ÀÚ¼¼ÇÑ Á¤º¸¸¦ º¸½Ã·Á¸é Red Hat Enterprise Linux ½Ã½ºÅÛ °ü¸® °¡À̵带 ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù.

´ÙÀ½°ú °°ÀÌ opcontrol¸¦ »ç¿ëÇÏ¿© ¼öÁýÇÒ ÀÚ·áÀÇ À¯ÇüÀ» ¼³Á¤ °¡´ÉÇÕ´Ï´Ù:

opcontrol \
    --vmlinux=/boot/vmlinux-`uname -r` \
    --ctr0-event=CPU_CLK_UNHALTED \
    --ctr0-count=6000

¿©±â¼­ »ç¿ëµÈ ¿É¼ÇÀº opcontrol¿¡°Ô ´ÙÀ½°ú °°Àº »çÇ×À» Áö½ÃÇÕ´Ï´Ù:

  • OProfile¿¡°Ô ÇöÀç ½ÇÇà ÁßÀÎ Ä¿³ÎÀÇ º¹»çº»À» ¾Ë·ÁÁÜ (--vmlinux=/boot/vmlinux-`uname -r`)

  • ÇÁ·Î¼¼¼­ÀÇ °è¼ö°ªÀ» 0·Î ÁöÁ¤ÇÏ°í °¨½ÃÇÒ À̺¥Æ®´Â CPU°¡ ¸í·ÉÀ» ½ÇÇàÇÒ °æ¿ì·Î Áö½ÃÇÔ (--ctr0-event=CPU_CLK_UNHALTED)

  • OProfileÀÌ ÁöÁ¤µÈ À̺¥Æ®°¡ 6000¹øÂ° ¹ß»ýÇÒ¶§¸¶´Ù Á¤º¸¸¦ ¼öÁýÇϵµ·Ï Áö½ÃÇÔ (--ctr0-count=6000)

´ÙÀ½À¸·Î lsmod ¸í·ÉÀ» »ç¿ëÇÏ¿© oprofile Ä¿³Î ¸ðµâÀÌ ·ÎµùµÇ¾ú´ÂÁö È®ÀÎÇØº¸½Ê½Ã¿À:

Module                  Size  Used by    Not tainted
oprofile               75616   1
…

ls /dev/oprofile/ ¸í·ÉÀ» »ç¿ëÇÏ¿© /dev/oprofile/¿¡ À§Ä¡ÇÑ OProfile ÆÄÀÏ ½Ã½ºÅÛÀÌ ¸¶¿îÆ®µÇ¾ú´ÂÁö È®ÀÎÇÕ´Ï´Ù:

0  buffer       buffer_watershed  cpu_type  enable       stats
1  buffer_size  cpu_buffer_size   dump      kernel_only

(Á¤È®ÇÑ ÆÄÀϼö´Â ÇÁ·Î¼¼¼­ À¯Çü¿¡ µû¶ó ´Ù¸¦ ¼ö ÀÖ½À´Ï´Ù)

ÀÌÁ¦ /root/.oprofile/daemonrc ÆÄÀÏÀº Á¤º¸ ¼öÁý ¼ÒÇÁÆ®¿þ¾î¸¦ À§ÇÑ ¼³Á¤ÀÌ Æ÷ÇԵ˴ϴÙ:

CTR_EVENT[0]=CPU_CLK_UNHALTED
CTR_COUNT[0]=6000
CTR_KERNEL[0]=1
CTR_USER[0]=1
CTR_UM[0]=0
CTR_EVENT_VAL[0]=121
CTR_EVENT[1]=
CTR_COUNT[1]=
CTR_KERNEL[1]=1
CTR_USER[1]=1
CTR_UM[1]=0
CTR_EVENT_VAL[1]=
one_enabled=1
SEPARATE_LIB_SAMPLES=0
SEPARATE_KERNEL_SAMPLES=0
VMLINUX=/boot/vmlinux-2.4.21-1.1931.2.349.2.2.entsmp

´ÙÀ½À¸·Î opcontrol --start ¸í·ÉÀ» ÀÌ¿ëÇÏ¿© opcontrol ¸í·ÉÀÌ ½ÇÁ¦·Î Á¤º¸ ¼öÁýÀ» ½ÃÀÛÇϵµ·Ï Áö½ÃÇÕ´Ï´Ù:

Using log file /var/lib/oprofile/oprofiled.log
Daemon started.
Profiler running.

ps x | grep -i oprofiled ¸í·ÉÀ» »ç¿ëÇÏ¿© oprofiled µ¥¸óÀÌ ½ÇÇà ÁßÀÎÁö È®ÀÎÇØº¸½Ê½Ã¿À:

32019 ?        S      0:00 /usr/bin/oprofiled --separate-lib-samples=0 …
32021 pts/0    S      0:00 grep -i oprofiled

(½ÇÁ¦ ps ¸í·É¿¡ ÀÇÇØ Ãâ·ÂµÈ oprofiled ¸í·ÉÇàÀº À̰÷¿¡ Ç¥½ÃµÈ °Íº¸´Ù ÈξÀ ±æÁö¸¸, ÆäÀÌÁö¿¡ ¸Âµµ·Ï ª°Ô ÁÙ¿´½À´Ï´Ù)

ÇöÀç ½Ã½ºÅÛ »ó¿¡¼­ ½ÇÇàµÇ°í ÀÖ´Â ¸ðµç ½ÇÇà ÇÁ·Î¼¼½º¿¡ ´ëÇÑ ÀڷḦ ¼öÁýÇϰí ÀÖ½À´Ï´Ù. ÀÌ ÀÚ·á´Â /var/lib/oprofile/samples/ µð·ºÅ丮¿¡ ÀúÀåµË´Ï´Ù. ÀÌ µð·ºÅ丮¿¡ ¼ÓÇÑ ÆÄÀϵéÀº ƯÀÌÇÑ ¹æ½ÄÀÇ À̸§À» »ç¿ëÇÕ´Ï´Ù. ¿¹¸¦ µé¸é:

}usr}bin}less#0

ÆÄÀÏ À̸§Àº ½ÇÇà Äڵ带 Æ÷ÇÔÇÑ °¢ ÆÄÀÏÀÇ Àý´ë °æ·Î¿¡¼­ ½½·¡½Ã (/)¸¦ ¿À¸¥ÂÊ °ýÈ£ (})·Î ¹Ù²Ù°í, ¸¶Áö¸· ºÎºÐ¿¡ ¿ì¹°Á¤ÀÚ (#)¿Í ¼ýÀÚ (ÀÌ ¿¹¿¡¼­´Â 0)¸¦ ÷°¡ÇÕ´Ï´Ù. µû¶ó¼­ ÀÌ ¿¹½Ã¿¡¼­ »ç¿ëµÈ ÆÄÀÏÀº /usr/bin/less ÆÄÀÏÀ» ½ÇÇàÇϸ鼭 ¼öÁýµÈ ÀڷḦ ´ãÀº ÆÄÀÏÀ» ÀǹÌÇÕ´Ï´Ù.

ÀÏ´Ü ÀÚ·á ¼öÁýÀ» ¸¶Ä¡¸é, ºÐ¼® µµ±¸¸¦ ÀÌ¿ëÇÏ¿© ¼öÁýµÈ ÀڷḦ º¼ ¼ö ÀÖ½À´Ï´Ù. OProfileÀÇ ÀåÁ¡ Áß Çϳª´Â ÀڷḦ ¼öÁýÇÏ´Â µ¿½Ã¿¡ ÀÚ·á ºÐ¼®À» ¼öÇàÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. ±×·¯³ª ÃÖ¼ÒÇÑ ÇѼ¼Æ®ÀÇ »ùÇÃÀÌ µð½ºÅ©¿¡ ±â·ÏµÉ¶§±îÁö ±â´Ù¸®¼Å¾ß ÇÕ´Ï´Ù. ¶Ç´Â opcontrol --dump ¸í·ÉÀ» ÀÌ¿ëÇÏ¿© »ùÇÃÀ» µð½ºÅ©¿¡ ¸ÕÀú ±â·ÏÇÑ ÈÄ ºÐ¼®À» ½ÃÀÛÇÏ¼Å¾ß ÇÕ´Ï´Ù.

´ÙÀ½Àº op_time ¸í·ÉÀ» ÀÌ¿ëÇÏ¿© Á¤º¸°¡ ¼öÁýµÈ ¼ø¼­¸¦ ¿ª¼ø (°¡Àå ³ôÀº ¼ýÀÚ¿¡¼­ ³·Àº ¼ýÀÚ ¼ø¼­)·Î º¸¿©ÁÝ´Ï´Ù:

3321080   48.8021  0.0000 /boot/vmlinux-2.4.21-1.1931.2.349.2.2.entsmp
761776    11.1940  0.0000 /usr/bin/oprofiled
368933     5.4213  0.0000 /lib/tls/libc-2.3.2.so
293570     4.3139  0.0000 /usr/lib/libgobject-2.0.so.0.200.2
205231     3.0158  0.0000 /usr/lib/libgdk-x11-2.0.so.0.200.2
167575     2.4625  0.0000 /usr/lib/libglib-2.0.so.0.200.2
123095     1.8088  0.0000 /lib/libcrypto.so.0.9.7a
105677     1.5529  0.0000 /usr/X11R6/bin/XFree86
…

¸®Æ÷Æ®¸¦ »óÈ£´ëÈ­½ÄÀ¸·Î »ý¼ºÇϽǶ§´Â ¸®Æ÷Æ®°¡ ¸î¹é ÁÙ¿¡ °ÉÃÄ ¸Å¿ì ±æ¾îÁú ¼ö°¡ ÀÖÀ¸¹Ç·Î less ¸í·ÉÀ» ÇÔ²² »ç¿ëÇϽô °ÍÀÌ ÁÁ½À´Ï´Ù. ÀÌ ¿¹½Ã¿¡¼­´Â ±ä ¸®Æ÷Æ®¸¦ ª°Ô Àß¶ó¼­ º¸¿©ÁÖ°í ÀÖ½À´Ï´Ù.

ÀÌ Æ¯Á¤ ¸®Æ÷Æ®ÀÇ °æ¿ì ÇÑ ÁÙ¸¶´Ù °¢ ½ÇÇà ÆÄÀÏ¿¡ ´ëÇÏ¿© ¼öÁýÇÑ Á¤º¸¸¦ º¸¿©ÁÝ´Ï´Ù. °¢ ÁÙÀº ´ÙÀ½°ú °°Àº Çü½ÄÀ» µû¸£°í ÀÖ½À´Ï´Ù:

<sample-count> <sample-percent> <unused-field> <executable-name> 

¿©±â¼­:

  • <sample-count>´Â ¼öÁýµÈ »ùÇüö¸¦ ³ªÅ¸³À´Ï´Ù.

  • <sample-percent>´Â ÀÌ Æ¯Á¤ ½ÇÇà ÆÄÀÏ¿¡ ´ëÇÏ¿© ¼öÁýÇÑ ¸ðµç »ùÇÃÀÇ ÆÛ¼¾Æ®¸¦ º¸¿©ÁÝ´Ï´Ù

  • <unused-field>´Â »ç¿ëµÇÁö ¾ÊÀº ¿µ¿ªÀ» ³ªÅ¸³À´Ï´Ù

  • <executable-name>Àº »ùÇÃÀ» ¼öÁýÇÑ ½ÇÇà Äڵ带 Æ÷ÇÔÇÏ´Â ÆÄÀÏÀÇ À̸§ÀÔ´Ï´Ù.

ÀÌ ¸®Æ÷Æ®´Â °ÅÀÇ ¹Ý ÀÌ»óÀÇ »ùÇÃÀÌ CPU°¡ Ä¿³Î ÀÚüÀÇ Äڵ带 ½ÇÇà ÁßÀ϶§ ¼öÁýµÈ °ÍÀ» º¸¿©ÁÝ´Ï´Ù. ´ÙÀ½ ÁÙ¿¡´Â OProfile ÀÚ·á ¼öÁý µ¥¸óÀÌ ³ªÅ¸³ª¸ç, ±× ´ÙÀ½À¸·Î ´Ù¾çÇÑ ¶óÀ̺귯¸®¿Í X À©µµ¿ì ½Ã½ºÅÛ ¼­¹ö, XFree86¸¦ º¼ ¼ö ÀÖ½À´Ï´Ù. ÀÌ »ùÇà ¼¼¼Ç¿¡¼­ ½ÇÇà ÁßÀÌ´ø ½Ã½ºÅÛ¿¡¼­ »ç¿ëµÈ °è¼ö±â °ª 6000Àº opcontrol --list-eventsÀÇ ÃÖ¼Ò ±ÇÀå°ªÀ» ÀǹÌÇÑ´Ù´Â »ç½ÇÀ» ±â¾ïÇØµÎ½Ê½Ã¿À. Áï ÀÌ ¿¹½Ã ½Ã½ºÅÛ¿¡¼­ OProfileÀÇ ÀÛ¾÷ ºÎÇÏ·Î ÀÎÇÑ ÃÖ´ë CPU »ç¿ë·®ÀÌ 11 ÆÛ¼¾Æ®¸¦ ³ÑÁö ¾Ê´Â´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù.

ÁÖ¼®

[1]

ÀåÄ¡ÀÇ major ¹øÈ£¸¦ ¾Ë¾Æº¸½Ã·Á¸é /dev/ µð·ºÅ丮¿¡¼­ ¿øÇÏ´Â ÀåÄ¡¿¡ ls -l ¸í·ÉÀ» ÀÔ·ÂÇÏ½Ã¸é µË´Ï´Ù. major ¹øÈ£´Â ÀåÄ¡ÀÇ ±×·ì ºÎºÐ ´ÙÀ½¿¡ ³ªÅ¸³³´Ï´Ù.

[2]

½Ã½ºÅÛ ·Îµù ½Ã°£¿¡ Â÷À̰¡ ÀÖÀ¸¹Ç·Î, ½ÇÁ¦·Î ÀÚ·á°¡ ¼öÁýµÈ ½Ã°£Àº 1ÃÊ¿¡¼­ 2ÃÊ Á¤µµ Â÷À̰¡ ³¯ ¼öµµ ÀÖ½À´Ï´Ù.

[3]

¼º´É °¨½Ã Çϵå¿þ¾î¸¦ »ç¿ëÇÏÁö ¾Ê´Â ½Ã½ºÅÛ ¾ÆÅ°ÅØÃÄÀÇ °æ¿ì OProfileÀº TIMER_INITÀ̶ó°í ¾Ë·ÁÁø °íÀå½Ã ´ëü(fallback) ¹æ½ÄÀ» »ç¿ëÇÕ´Ï´Ù.