¸®´ª½º Ä¿³Î¿¡¼
/proc/stat ÆÄÀÏÀ» ÀÐÀ¸¸é CPU°¡ »ç¿ëÇÑ user, system, idle, niceµîÀÇ jiffies°ªÀÌ ³ªÅ¸³ª´Â °É·Î ¾Ë°í ÀÖ½À´Ï´Ù.
ÀÌ°ÍÀ» °¡Áö°í cpu Á¡À¯À²À» °è»êÇÑ´Ù°í Çϴµ¥,
Á¦°¡ ±Ã±ÝÇÑÁ¡Àº ¿©·¯°³ÀÇ Á¾·ù(user, system, idle, nice ... ±âŸµîµî) Áß Çϳª¸¦ ¼±ÅÃÇÏ¿© jiffies°¡ Áõ°¡ÇÏ´Â ±âÁØÀÔ´Ï´Ù.
ÇöÀç Ä¿³Î¿¡¼ jiffies°¡ 0.01ÃÊ´ç ÇÑ°³¾¿ Áõ°¡Çϴ°ɷΠ¾Ë°í Àִµ¥ 0.01ÃÊ µ¿¾È ¸í·É¾î¸¦ ³»·ÁÁÖ¸é ¼¿¼ö ¾øÀÌ ¸¹Àº ¸í·É¾î°¡ 󸮵ǴÂ
°ÍÀ¸·Î »ý°¢µË´Ï´Ù.
´Ü¼øÈ÷ 0.01Ãʵ¿¾È °è¼Ó ¸í·É¾î°¡ µé¾î¿À¸é user jiffies°¡ ÇÑ°³ Áõ°¡ÇÏ°í, 0.01Ãʵ¿¾È ¾Æ¹«·± ¸í·É¾îµµ µé¾î¿ÀÁö ¾ÊÀ¸¸é idle jiffies°¡ ÇÑ°³
Áõ°¡ÇÏ´Â°Ç »ó½ÄÀûÀ¸·Î ¸»ÀÌ ¾ÈµÉ °Í °°°í......
¾î¶² ±âÁØÀÌ ÀÖÀ»°Í °°½À´Ï´Ù.
¿¹¸¦ µé¸é 0.01Ãʸ¦ ±âÁØÀ¸·Î ÇÏ°í, ´Ü¼øÈ÷ 2°¡Áö Á¾·ù¸¸ »ý°¢ÇÑ´Ù¸é
ex ) if ( instruction > 100 )
user jiffies++;
else
idle jifiees++;
ÀÌ·±½ÄÀ¸·Î µÉ°Í °°±ä Çѵ¥.....
Ȥ½Ã Á¤È®ÇÑ Á¤º¸ ¾Æ½Ã´Â ºÐ ÀÖ³ª¿ä?
¾Æ´Ï¸é Ä¿³ÎÀÇ ¾î´À ÆÄÀÏ¿¡¼ jiffiesÀÇ Á¾·ù¸¦ ¼±ÅÃÇÏ´ÂÁö ¾Æ½Ã´Â ºÐ °è½Å°¡¿ä...
¾Æ¹«¸® µÚÁ®µµ ¾È³ª¿À³×¿ä.... | |
|
¸ðµç ÇÁ·Î¼¼½º°¡ ÀÚ¿øÀ» ÇÊ¿ä·Î ÇÏÁö ¾Ê°Å³ª ´ë±â(sleep)»óÅÂÀÏ ¶§´Â swapper process¸¦ ½ÇÇàÇÕ´Ï´Ù. À̶§ swapper process°¡ ½ÇÇàµÈ ½Ã°£À» Ŭ·°¼ö·Î ³ª´«°ÍÀÌ idle jifiees°ªÀÌ ¾Æ´Ò±î ½Í½À´Ï´Ù.
¸¶Âù°¡Áö·Î CPU°¡ user³ª nice user ÇÁ·Î¼¼½º¿¡¼ ¼ÒºñµÈ ½Ã°£À» Ŭ·°¼ö·Î ³ª´« °ÍÀÌ °¢°¢ÀÇ jifieesÀ¸·Î ÀúÀåµÉ°Ì´Ï´Ù.
CPU°¡ Ä¿³Î¸ðµå¿¡¼ ½ÇÇàµÈ ½Ã°£ÀÇ jifiees°ªÀº system¿¡ ÀúÀåµÇ°ÚÁö¿ä. ÀÔÃâ·Â ´ë±â»óÅ¿¡ ÀÖÀ¸¸é iowait¿¡ ÀúÀåµÉ °ÍÀ̸ç irq, soft irq ÀÎÅÍ·´Æ®¿¡ ¼Ò¸ðµÈ ½Ã°£Àº °¢°¢ irq, softirq¿¡ ÀúÀåµÉ°Ì´Ï´Ù.
±×¸®°í jifiees°ªÀº ÇÁ·Î¼¼½º°¡ ¾î¶² »óÅ¿¡ ÀÖ´ÂÁö ¾Ë ¼ö ÀÖ´Â ½ºÄÉÁì·¯¿¡¼ ´ã´çÇÒ°Ì´Ï´Ù.
Ȥ½Ã³ª Çؼ ±¸±Û¿¡¼ °Ë»öÀ» Çغôµ¥ kernel/sched.c¿¡¼ Ãß°¡¸¦ ÇØÁֳ׿ä. cputime_add()¿Í cputime64_add()·Î ã¾Æº¸½Ã¸é µÉµíÇÕ´Ï´Ù.