DeleteMe RenameThisPage ? = Åë°è(Accounting)¸¦ ÀÌ¿ëÇÑ ¼­¹ö ½Ã½ºÅÛ ¸ð´ÏÅ͸µ = 2000³â 2¿ù '''¹®ÅÂÁØ''' ([http://tunelinux.pe.kr]) __Âü°íÀÚ·á__ : System Performance Tunning (O'REILLY ÃâÆÇ»ç, ¿µ¹®ÆÇ) Chapter 2 Monitoring System Activity Áß Acoounting 92³âµµ¿¡ ³ª¿Â Ã¥ÀÌÁö¸¸ ½Ã½ºÅÛ °ü¸®Ãø¸é¿¡¼­ ¸¹Àº µµ¿òÀ» Áִ åÀÔ´Ï´Ù. Essential System Administration (ÇѺû¹Ìµð¾î, ¹ø¿ªÆÇ) 16Àå °èÁ¤, 7Àå ½Ã½ºÅÛ ÀÚ¿ø°ü¸® À¯´Ð½º ½Ã½ºÅÛ °ü¸®¿¡ °ü·ÃµÈ ³»¿ëÀ» ´ã°í ÀÖ½À´Ï´Ù. ³»¿ëÀº ±¦ÂúÀº ÆíÀÌÁö¸¸ ¹ø¿ª ÀÚü°¡ ±ò²ûÇÏÁö´Â ¾Ê½À´Ï´Ù. [wiki:LinuxdocSgml/Process-Accounting Process-Accounting mini HOWTO] ¸®´ª½º¿¡¼­ ÇÁ·Î¼¼½ºÀÇ Åë°è¸¦ ¾ò´Â ¹æ¹ý ÀÌ ÀÚ·á´Â 97³â¿¡ ÀÛ¼ºµÇ¾ú°í 99³â 2¿ù¿¡ ´Ù¸¥ ºÐÀÌ ¹ø¿ªÇÑ ³»¿ëÀÔ´Ï´Ù. ±×·¸Áö¸¸ ³»¿ëÀÌ ¾ÆÁÖ °£·«Çؼ­ ´Ù¸¥ ÀڷḦ °°ÀÌ º¸¾Æ¾ß ÇÕ´Ï´Ù. === µé¾î°¡±âÀü¿¡ === º» ¹®¼­´Â À§ ÀڷḦ Âü°í·Î ¸®´ª½º¿¡ ¸Â°Ô ÀûÀýÇÏ°Ô ¼öÁ¤ÇÑ ³»¿ëÀÔ´Ï´Ù. ÇöÀç ±¹³»¿¡¼­´Â ¸®´ª½º °ü·Ã ¼­¹ö°ü¸®Ãø¸é¿¡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀ» ¼³¸íÇÑ ÀÚ·á°¡ ºÎÁ·ÇÏ´Ù°í »ý°¢ÀÌ µË´Ï´Ù. À̱ÛÀÌ ½ÇÁ¦ ¼­¹ö¸¦ ¿î¿µÇÏ°í °ü¸®ÇÏ´Â ºÐµé¿¡°Ô µµ¿òÀÌ µÇ¾úÀ¸¸é ÁÁ°Ú½À´Ï´Ù. ¹°·Ð ÇöÀç´Â PC±Þ Çϵå¿þ¾îÀÇ ¼º´ÉÀÌ ¿ö³« ºü¸£°Ô ¹ßÀüÇÏ°í ÀÖÁö¸¸ ¼­¹ö°ü¸®ÀÚ´Â ¾ðÁ¦³ª ÃÖ¾ÇÀÇ »óȲÀ» ¿°µÎ¿¡ µÎ°í ½Ã½ºÅÛÀ» °ü¸®ÇØ¾ß ÇÒ °ÍÀÔ´Ï´Ù. ÀϹÝÀûÀ¸·Î AccountingÀ» Åë°è·Î ¹ø¿ªÇϴ°Ͱ¥À¸¹Ç·Î ¾Æ·¡¿¡¼­´Â Accounting´ë½Å Åë°è¶ó´Â ´Ü¾î¸¦ »ç¿ëÇÏ°Ú½À´Ï´Ù. ÀÌ ¹®¼­´Â »ó¾÷ÀûÀÎ ¸ñÀûÀÌ ¾Æ´Ñ ÇÑ ÀÚÀ¯·Ó°Ô ¹èÆ÷ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¸Áö¸¸ ¹èÆ÷½Ã¿¡´Â Ãâó¿Í ÀúÀÚ, º» ÁÖÀÇ»çÇ×À» ¹àÇôÁÖ¾î¾ß ÇÕ´Ï´Ù. ¶ÇÇÑ »ó¾÷ÀûÀ¸·Î »ç¿ëÇÒ °æ¿ì¿¡´Â º» ÀúÀÚÀÇ µ¿ÀǸ¦ ¾ò¾î¾ß ÇÕ´Ï´Ù. === Åë°è¸¦ ¿Ö »ç¿ëÇϴ°¡? === ¸ÕÀú Åë°è¶õ ¸®´ª½º¿¡¼­ ¼öÇàµÈ ¸í·ÉµéÀ» ¿ä¾àÇÏ°í ±â·ÏÇÏ´Â °ÍÀÔ´Ï´Ù. ¼öÇà¸í·É, »ç¿ëÀÚ, ¼Ò¿äµÈ CPU½Ã°£, ¸Þ¸ð¸®, µð½ºÅ© I/OµîÀ» ºÐ¼®ÇÏ¿© ½Ã½ºÅۿ ¹× °ü¸®¿¡ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ ½Ã½ºÅÛÀÇ Æ©´×À» À§Çؼ­´Â °¡Àå ±âº»ÀûÀÎ ÀÛ¾÷À̶ó°íµµ ÇÒ ¼ö ÀÖ½À´Ï´Ù. Åë°è ½Ã½ºÅÛÀº ½Ã½ºÅÛÀÇ Áß¿äÇÑ Á¤º¸¸¦ ½±°Ô ¸ðÀ» ¼ö ÀÖ½À´Ï´Ù. ½Ã½ºÅÛ ¼º´É¿¡ °ü½ÉÀ» °¡Áø´Ù¸é ½ÇÁ¦ ½Ã½ºÅÛÀÌ ¾î¶² È°µ¿À» ÇÏ´ÂÁö¿¡ ´ëÇؼ­ ¾Ë¾Æ¾ß ÇÕ´Ï´Ù. »ç¿ëÀÚ°¡ ¾î¶² ÇÁ·Î±×·¥À» µ¹¸®´Â°¡, ÀÌ·¯ÇÑ ÇÁ·Î±×·¥¿¡¼­ ½Ã½ºÅÛ ½Ã°£À» ¾ó¸¶³ª ¼ÒºñÇϴ°¡, ÀϹÝÀûÀÎ À¯Æ¿¸®Æ¼°¡ ¾ó¸¶³ª ½Ã½ºÅÛ ½Ã°£À» ¼ÒºñÇϴ°¡, ¾î¶² »ç¿ëÀÚ°¡ ½Ã½ºÅÛÀÇ ÀÚ¿øÀ» ÀûÀýÇÏ°Ô »ç¿ëÇϴ°¡ µîµî. ¾î¶² ÇÁ·Î±×·¥ÀÌ ½Ã½ºÅÛÀÇ ½Ã°£°ú ¸Þ¸ð¸®¸¦ Àâ¾Æ¸Ô´ÂÁö ¾Ë¾Ò´Ù¸é ÀÌÁ¦ ½Ã½ºÅÛ Æ©´× Àü·«À» ¼¼¿ï ¼ö ÀÖ°ÚÁö¿ä. ³»ºÎ¿ëÀ¸·Î ÇÁ·Î±×·¥À» °³¹ßÇß´Ù¸é °³¹ßÀÚ°¡ ´õ ¶Ù¾î³­ ¾Ë°í¸®ÁòÀ» °¡Áö°í ÇÁ·Î±×·¥À» ¼³°èÇ϶ó°í ÇÒ ¼ö ÀÖ°í, ¸Þ¸ð¸®¸¦ ¸ÄÀÌ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥À̶ó¸é ¸Þ¸ð¸®¸¦ Àý¾àÇÒ ¹æ¹ý¿¡ ´ëÇؼ­ ã¾Æº¸¾Æ¾ß ÇÒ °ÍÀÔ´Ï´Ù. µð½ºÅ© I/O¸¦ ¸¹ÀÌ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥À̶ó¸é ´õ ºü¸¥ µð½ºÅ©¸¦ ÀåÂøÇÒ ¼ö°¡ ÀÖÀ» °ÍÀÔ´Ï´Ù. ½Ã½ºÅÛ¿¡ ¹®Á¦°¡ »ý±â±âÀü¿¡ ÀÌ·¯ÇÑ ½Ã½ºÅÛ Á¤º¸¸¦ °¡Áö°í ÀÖ´Ù¸é ÈξÀ ¼ö¿ùÇÏ°Ô ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù. see also TuningStrategy. === ¸®´ª½º¿ë Åë°è ÇÁ·Î±×·¥ ±¸ÇÏ°í ±âº» ¼³Á¤Çϱâ === ÇöÀç ¸®´ª½º¿¡¼­ Åë°è ½Ã½ºÅÛÀº BSD ½ºÅ¸ÀÏÀ» µû¸£°í ÀÖ½À´Ï´Ù. System V Åë°è ½Ã½ºÅÛÀÌ BSD¿¡ ºñÇØ ´Ù¾çÇÑ Åë°è ÀڷḦ Á¦°øÇÏ´Â°Í °°½À´Ï´Ù. ÀÌ·¯ÇÑ Åë°è±â´ÉÀº ¸®´ª½º Ä¿³Î ¼öÁØ¿¡¼­ Áö¿øµÇ¾î¾ßÇÏ¸ç ½Ã½ºÅÛ Â÷¿ø¿¡¼­ Á¦¾î¸¦ Áö¿øÇØ¾ß ÇÕ´Ï´Ù. ¸®´ª½ºÀÇ °æ¿ì´Â Ä¿³Î 1.3.73ÀÌÈÄ ¹öÀü¿¡¼­ ÀÌ·¯ÇÑ ±â´ÉÀ» Áö¿øÇÑ´Ù°í ÇÕ´Ï´Ù. ÃÖ±Ù¿¡ ³ª¿Â ·¹µåÇÞ ¹× ±¹³» ¹èÆ÷ÆÇ µî¿¡¼­´Â Áö¿øµÇ´Â °ÍÀ¸·Î ¾Ë°í ÀÖ½À´Ï´Ù. ¸¸¾à ·¹µåÇÞ È£È¯ ¹èÆ÷ÆÇÀ» »ç¿ëÇÏ°í ÀÖ´Ù¸é ´ÙÀ½ rpm¸í·ÉÀ¸·Î È®ÀÎÇÏ¸é µË´Ï´Ù. (Áö±Ý À̱ÛÀ» º¸´Â »ç¶÷µéÀ̶ó¸é ¾ÆÁÖ Ãʺ¸ÀÚ´Â ¾Æ´Ï¶ó°í »ý°¢µÇ±â¿¡ °³º°ÀûÀÎ ¸í·É¾î¿¡ ´ëÇÑ ¼³¸íÀº »ý·«ÇÕ´Ï´Ù) {{{# rpm -qa | grep psacct psacct-6.3-10}}} ¾ø´Ù¸é °¢ ¹èÆ÷ÆÇ »çÀÌÆ®¸¦ ÅëÇؼ­ ½±°Ô ±¸ÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ÇÊÀÚ°¡ ¼³Ä¡ÇÑ ÇÁ·Î±×·¥¸ñ·ÏÀº ´ÙÀ½°ú °°½À´Ï´Ù. {{{# rpm -ql psacct /sbin/accton /usr/bin/ac /usr/bin/lastcomm /usr/info/accounting.info.gz /usr/man/man1/ac.1 /usr/man/man1/lastcomm.1 /usr/man/man8/accton.8 /usr/man/man8/sa.8 /usr/sbin/accton /usr/sbin/dump-acct /usr/sbin/dump-utmp /usr/sbin/sa /var/log/pacct /var/log/savacct /var/log/usracct}}} ºÎÆÃÇϸ鼭 Åë°è ÇÁ·Î±×·¥À» ½ÃÀÛÇÏ·Á¸é ºÎÆà ½ºÅ©¸³Æ®¸¦ ¼öÁ¤ÇØ¾ß ÇÕ´Ï´Ù. ÀÌ°Ç /etc/rc.d/rc.sysinit ¿¡ ´ÙÀ½°ú °°Àº ³»¿ëÀ» Ãß°¡ÇÏ¸é µË´Ï´Ù. {{{#!vim sh if [ -x /sbin/accton ]; then /sbin/accton /var/log/pacct echo "Process Accounting started ~~~~" fi}}} Åë°è½Ã½ºÅÛÀº accton ¸í·ÉÀ» ÀÌ¿ëÇØ ½ÇÇàÇÕ´Ï´Ù. /var/log/pacct ÆÄÀÏÀº rpmÀ¸·Î ¼³Ä¡ÇÏ´Â °æ¿ì ÀÚµ¿À¸·Î ¼³Ä¡°¡ µÇÁö¸¸ ¸¸¾à ÀÚµ¿À¸·Î »ý±âÁö ¾Ê´Â °æ¿ì touch ¸í·É µîÀ¸·Î »ý¼ºÀ» ÇØ ÁÖ¾î¾ßÇÕ´Ï´Ù. ÀÌ ÆÄÀÏÀº Åë°è±â·Ï¸¦ ÇÏ´Â ÆÄÀÏÀ̶ó°í »ý°¢ÇÏ¸é µË´Ï´Ù. (!) ¿©±â¼­ ÁÖÀÇÇÒ °ÍÀº /var/log °¡ ¼ÓÇÑ ÆÄÀÏ ½Ã½ºÅÛÀÌ 95%ÀÌ»ó Â÷¸é Åë°è½Ã½ºÅÛÀÌ ÀÚµ¿À¸·Î ¸ØÃã´Ï´Ù. ÀÌ°É ¸í½ÉÇϼ¼¿ä pacct ÆÄÀÏÀº °è¼Ó ¸ðµç °ÍÀ» ±â·ÏÇϴϱñ ±Ý»õ Ä¿Áö°ÚÁö¿ä? ±×·¯¹Ç·Î ÁÖ±âÀûÀ¸·Î sa -s ¸¦ ½ÇÇà½ÃÅ°¸é ¿ä¾à ÆÄÀÏÀÎ /var/log/savacct ÆÄÀÏ¿¡ pacctÀÇ ³»¿ëÀ» ¾ÐÃàÇؼ­ º´ÇÕÇÕ´Ï´Ù. -s ¿É¼Ç¿¡ ´ëÇؼ­´Â µÚ¿¡¼­ saÀÇ ¿É¼ÇÀ» Âü°íÇϼ¼¿ä. === sa ÀÌ¿ëÇØ º¸°í¼­ ÀÛ¼ºÇϱâ === Åë°è ½Ã½ºÅÛÀÌ ÀÛµ¿µÇ¸é Á¤±âÀûÀ¸·Î º¸°í¼­¸¦ ¸¸µé±â ÀÌÇØ sa À¯Æ¿¸®Æ¼¸¦ ÀÌ¿ëÇÕ´Ï´Ù. sa¸¦ ¿É¼Ç¾øÀÌ »ç¿ëÇÏ¸é ½Ã½ºÅÛ¿¡¼­ ½ÇÇàµÇ¾ú´ø ¸ðµç ¸í·É¿¡ ´ëÇÑ ¿ä¾à³»¿ëÀ» Ãâ·ÂÇÕ´Ï´Ù. Çѹø º¼±î¿ä? (±Ùµ¥ ÀÌ°Ç ¿¹Á¦·Î´Â Á» ¸ÂÁö ¾Ê´Â°Í °°½À´Ï´Ù¸¸ ÀÌÇØÇØÁÖ¼¼¿ä...) {{{# sa 75563 169479.02re 510.44cp 0avio 506k 14056 450.37re 448.85cp 0avio 497k webalizer 361 91931.12re 37.86cp 0avio 1355k httpd* 275 7.50re 5.38cp 0avio 402k gawk 14056 455.55re 4.95cp 0avio 438k weblog 14226 588.92re 2.57cp 0avio 437k sh 11 18.88re 2.45cp 0avio 332k slocate 162 670.85re 1.46cp 0avio 666k in.telnetd 2298 45.83re 1.09cp 0avio 2858k mysqld* 325 0.86re 0.76cp 0avio 642k ps 358 1185.61re 0.66cp 0avio 454k bash 1419 0.48re 0.47cp 0avio 283k rmmod }}} Ãâ·Â³»¿ëÀº ³¡ÀÇ Á¢¹Ì»ç·Î ±¸ºÐÀ» ÇÕ´Ï´Ù. * none : ½ÇÇàµÈ Ƚ¼ö. °¡Àå ùÄ÷³. * re : ¸í·ÉÀ» ½ÇÇàÇϴµ¥ »ç¿ëµÈ ½ÇÁ¦½Ã°£(ºÐ´ÜÀ§). ÃÑ°æ°ú½Ã°£. * cp : ¸í·ÉÀ» ½ÇÇàÇϴµ¥ »ç¿ëµÈ ÃÑ CPU½Ã°£(ºÐ´ÜÀ§), system + user time, ±âº»ÀûÀ¸·Î CPU ½Ã°£À» ±âÁØÀ¸·Î Á¤·ÄÇÕ´Ï´Ù. * avio : ½ÇÇà½Ã Æò±Õ I/O ¿¬»ê Ƚ¼ö. * k : Æò±Õ ¹°¸®Àû ¸Þ¸ð¸® »ç¿ë·®. (kilobytes ´ÜÀ§). ¿©±â¼­ Æò±ÕÀ̶õ ÇÁ·Î±×·¥ÀÇ CPU½Ã°£¿¡ ±Ù°ÅÇÔ. (This average is the integral of physical memory used over time(storage interval), divided by the total CPU time.) * none : ÇÁ·Î±×·¥À̸§. °¡Àå ¸¶Áö¸· Ä÷³. Ãâ·Â³»¿ë¿¡¼­ ù¹ø° ÁÙÀº ½ÇÇàµÈ ¸ðµç ¸í·É¿¡ ´ëÇÑ °ÍÀ» º¸¿©ÁÖÁö¸¸ ±×´ÙÁö À¯¿ëÇÏÁö´Â ¾ÊÀ» °ÍÀÔ´Ï´Ù. ±× ÀÌÈĺÎÅÍ´Â ÃÑ CPU ½Ã°£¿¡ ´ëÇØ Á¤·ÄÇؼ­ º¸¿©ÁÝ´Ï´Ù. ÃÑCPU ½Ã°£¿¡¼­ ½ÇÇàµÈ Ƚ¼ö¸¦ ³ª´©¸é ½ÇÇàµÉ¶§¸¶´Ù CPU½Ã°£À» ¾ó¸¶³ª ½è´ÂÁö ³ª¿À°ÚÁö¿ä? ½ÇÇàȽ¼ö°¡ 100¹øÀÌ°í CPU ½Ã°£ÀÌ 10000À̸é Çѹø¿¡ 100ºÐÀÇ CPU½Ã°£À» ¾´ °ÍÀÌÁö¿ä. ¿©±â¼­ ÀÚ¼¼È÷ ³»¿ëÀ» ºÐ¼®ÇÏ¸é ¾î¶² °ÍÀÌ CPU ½Ã°£À» ¸¹ÀÌ »ç¿ëÇÏ´ÂÁö, I/O ¿¬»êÀ» ¸¹ÀÌ ÇÏ´ÂÁö, ¸Þ¸ð¸®¸¦ ¸¹ÀÌ ¾²´ÂÁö ³ª¿Ã °ÍÀÔ´Ï´Ù. NFS°°Àº daemonÀº CPU½Ã°£µµ ¸¹ÀÌ ¾²°ÚÁö¸¸ I/O ¸¦ ÈξÀ ¸¹ÀÌ ¾µ °ÍÀÔ´Ï´Ù.(avio) ¾î¶² ÇÁ·Î±×·¥Àº CPU½Ã°£À» Àû°Ô ¾²´õ¶óµµ ¾ÆÁÖ ÀÚÁÖ ½ÇÇàµÉ ¼öµµ ÀÖ½À´Ï´Ù. ¾ÆÁÖ ÀÚÁÖ ½ÇÇàµÇ´Â ÇÁ·Î±×·¥Àº ¸Þ¸ð¸®µµ ¸¹ÀÌ ¾²¹Ç·Î ¸Þ¸ð¸®¿¡ ¹®Á¦°¡ »ý±æ ¼ö ÀÖ°ÚÁö¿ä. emacs µîÀÇ ¿¡µðÅÍ´Â ½ÇÇà½Ã CPU½Ã°£Àº Àû°Ô »ç¿ëÇÏ´õ¶óµµ ÃÑ°æ°ú½Ã°£Àº ¾öû³¯ ¼ö ÀÖ°ÚÁö¿ä. ¿Ö³Ä¸é ÇÁ·Î±×·¡¸Ó°¡ Å͹̳ξտ¡¼­ ¾Ê¾Æ¼­ ŸÀÌÇÎÀº ¾ÈÄ¡°í ¾öû³ª°Ô ¸Ó¸®¸¸ ±¼¸®¸é¼­ ½Ã°£À» º¸³¾ ¼öµµ ÀÖÀ¸´Ï ±ñ¿ä. gccµî ÄÄÆÄÀÏ·¯ÀÇ °æ¿ì´Â CPU½Ã°£µµ ¸¹ÀÌ ¾²°ÚÁö¸¸ I/O¿¬»êÀº ÀûÀ» °ÍÀÌ°í ¸Þ¸ð¸®´Â ¸¹ÀÌ ÇÊ¿äÇÒ °ÍÀÔ´Ï´Ù. -d ¿É¼ÇÀ» »ç¿ëÇϸé avio(Æò±Õ i/o¿¬»ê)¸¦ ±âÁØÀ¸·Î Ãâ·ÂÇÕ´Ï´Ù. ±×·¯¸é ¾î¶² ÇÁ·Î±×·¥ÀÌ I/O¸¦ ¸¹ÀÌ »ç¿ëÇÏ´ÂÁö º¼ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ´ç±Ù À§¿¡¼­ ¸»ÇÑ°Íó·³ NFS°°Àº°Ô 1µîÀ» Â÷ÁöÇÏ°ÚÁö¿ä. ÀÌ·± ½ÄÀ¸·Î CPU ½Ã°£, ¸Þ¸ð¸®, I/O¸¦ ¸¹ÀÌ »ç¿ëÇÏ´Â ´ëÇ¥ÀûÀÎ ÇÁ·Î±×·¥ÀÌ ¾î¶² °ÍÀÎÁö ¾Ë¾Æ³¾ ¼ö ÀÖ½À´Ï´Ù. ÀÌ°É °¡Áö°í ÆÄÀϽýºÅÛ ¼³°è¸¦ ´Ù½Ã ÇÒ ¼öµµ ÀÖ°í I/O¸¦ ¸¹ÀÌ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥¿¡ I/O ÀÚ¿øÀ» ´õ ÁÙ ¼öµµ ÀÖÀ» °ÍÀÔ´Ï´Ù. Å¥À× ½Ã½ºÅÛÀ» »ç¿ëÇÏ´Â °æ¿ì CPU Áý¾àÀûÀÎ ÀÛ¾÷°ú I/O Áý¾àÀûÀÎ ÀÛ¾÷ÀÇ Å¥¸¦ ºÐ¸®ÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. CPU¿Í ¸Þ¸ð¸®¸¦ Çѹø¿¡ ¸¹ÀÌ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥À» ¿©·¯°³ ¶ç¿ìÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù. I/O¸¦ ¸¹ÀÌ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥À» ¿©·¯°³ ¶ç¿ìÁö¾Êµµ·Ï Á¶½ÉÇÏ°Ô µÉ °ÍÀÔ´Ï´Ù. ±×·±µ¥ CPU¸¦ ¸¹ÀÌ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥°ú I/O¸¦ ¸¹ÀÌ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥À» µ¿½Ã¿¡ ¶ç¿ì´Â°ÍÀº ½Ã½ºÅÛ¿¡ ¹ÌÄ¡´Â ¿µÇâÀÌ ´Ù¸£±â¶§¹®¿¡ ±¦Âú°ÚÁö¿ä? ³¡¿¡ *°¡ ºÙÀº °ÍÀº daemon ÇÁ·Î¼¼½ºÀÔ´Ï´Ù. daemon°ú ½©°°Àº ÇÁ·Î±×·¥Àº ½ÇÁ¦·Î ¾Æ¹«Àϵµ ÇÏÁö ¾Ê´õ¶óµµ ÃÑ°æ°ú½Ã°£Àº ±æ °ÍÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ÇÁ·Î±×·¥Àº ¶ÇÇÑ CPU½Ã°£ÀÌ ±æ¾îÁö°ÚÁö¿ä. À̰Ͷ§¹®¿¡ sa °á°ú¸¦ À߸ø º¼ À§Çèµµ »ý±é´Ï´Ù. ¼¾µå¸ÞÀÏ ¿¹¸¦ µé¾îº¼±î¿ä? ¼¾µå¸ÞÀÏÀº Å« ¿ë·®ÀÇ ¸ÞÀÏÅ¥¸¦ ó¸®ÇÏ·Á¸é ¸Þ¸ð¸®°¡ ¸¹ÀÌ ÇÊ¿äÇÕ´Ï´Ù. ±×·¸Áö¸¸ ´ë¸óÀ¸·Î ½ÇÇàµÇ±â¶§¹®¿¡ ½ÇÁ¦·Î ¾Æ¹«Àϵµ ÇÏÁö ¾Ê´õ¶óµµ CPU ½Ã°£Àº Ä¿Áö°í ÀÌ¿¡ µû¶ó Æò±Õ¸Þ¸ð¸® »ç¿ë·®Àº ÀÛ°Ô ³ªÅ¸³³´Ï´Ù. À§¿¡¼­ ¼³¸íÇßµíÀÌ Æò±Õ ¸Þ¸ð¸® »ç¿ë·®À̶õ°Ô CPU½Ã°£À» ±Ù°Å·Î Çؼ­ °è»êÇϴϱñ¿ä. ¾Ë°íº¸¸é ¹«Áö ¸Þ¸ð¸® ¸¹ÀÌ ¾²´Â °ÍÀä. /var/log/pacct ÆÄÀÏ¿¡ ÇÁ·Î¼¼½º Åë°è°¡ ±â·ÏÀÌ µË´Ï´Ù. (ÀÌ°Ç raw ÆÄÀÏÀ̶ó°í »ý°¢ÇÏ¸é µË´Ï´Ù) sa -s Çϸé ÇöÀçÀÇ ±â·ÏÀ» /var/log/savacct ¿¡ ±â·ÏÇÕ´Ï´Ù. /var/log/usracct ÆÄÀÏÀº »ç¿ëÀÚ idº°·Î Åë°è±â·ÏÀ» º¸°üÇÕ´Ï´Ù. Á» Çò°¥¸®ÁÒ? ±×·¯´Ï±ñ ¸ðµç ±â·ÏÀ» pacct¿¡ °¡Áö°í ÀÖ´Ù°¡ sa -s ÇÏ´Â ¼ø°£ ¸í·É¾îº°·Î °ü·ÃµÈ ±â·ÏÀº savacct¿¡, »ç¿ëÀÚº°·Î¸¥ usracct¿¡ ±â·ÏÀ» ÇÏ´Â °ÍÀÔ´Ï´Ù. sa ¸¦ ¿É¼Ç¾øÀÌ »ç¿ëÇϸé óÀ½ºÎÅÍ ÇöÀç±îÁö Àüü Åë°è³»¿ëÀ» È®ÀÎÇÏ´Â °ÍÀÔ´Ï´Ù. (ÀÌ ºÎºÐÀÌ Ã³À½¿¡´Â ¹«Áö Çò°¥¸± °ÍÀÔ´Ï´Ù) sa ¿Í °ü·ÃµÈ ¿É¼ÇÀº man sa ÇÏ¸é ³ª¿É´Ï´Ù. ÁÖ¿äÇÑ ¸î°¡Áö¸¸ ¼Ò°³ÇÕ´Ï´Ù. * -a : ¸ðµç ¸í·É * -b : Æò±Õ CPU ½Ã°£¿¡ µû¶ó Á¤¿­ -> CPU¸¹ÀÌ ¾²´Â ³ðÀ» Àâ¾Æ¶ó(cp) * -d : Æò±Õ I/O ¿¬»êµû¶ó Á¤¿­ -> I/O¸¹ÀÌ ¾²´Â ³ð(avio) * -i : savacct ¿ä¾à ÆÄÀÏÀ» »ý·«. ÀÌ°Ç sa -s ÇÑ ÀÌÈÄÀÇ Åë°è¸¦ º¸¿©ÁÜ. * -k : Æò±Õ ¸Þ¸ð¸® »ç¿ë·®¿¡ µû¶ó Á¤¿­ -> ¸Þ¸ð¸® ¸¹ÀÌ ¾²´Â ³ð(k) * -l : ½Ã½ºÅÛ cpu ½Ã°£°ú »ç¿ëÀÚ cpu ½Ã°£À» ºÐ¸®Çؼ­ º¸¿©ÁÜ. * -m : °¢ »ç¿ëÀÚ¿¡ µû¸¥ Åë°è * -n : ½ÇÇà¼ýÀÚ. ÀÚÁÖ ½ÇÇàµÈ ³ð ã±â * -s : ÇöÀçÀÇ Åë°è ±â·ÏÀ» savacct ÆÄÀÏ¿¡ º´ÇÕÇϱâ * -t : CPU ½Ã°£ ÃÑ°æ°ú½Ã°£(re) === Åë°è ÀÚ·á ½ºÅ©¸³Æ® === ¾Æ·¡ ½ºÅ©¸³Æ®´Â Åë°è ÀڷḦ ÀÚµ¿À¸·Î ¸ðÀ¸´Â ½ºÅ©¸³Æ®ÀÔ´Ï´Ù. ÀÌ°É ¸ÅÀϸ¶´Ù cronÀ¸·Î µ¹·Á¼­ ½Ã½ºÅÛÀ» ºÐ¼®ÇÏ¸é µÇ°ÚÁö¿ä. ÀÌ ½ºÅ©¸³Æ®´Â ÀÚ±âÀÇ ÇÊ¿ä¿¡ ¸Â°Ô °íÃļ­ »ç¿ëÇÏ¸é µÉ °ÍÀÔ´Ï´Ù. {{{#!vim sh #!/bin/sh # ±â·ÏÇÒ ÆÄÀϸí file_name=`date +%Y%m%d` #file_name=`date +%Y%m%d-%H%M%S` # ½ÃºÐÃʱîÁö ±â·ÏÇÒ °æ¿ì # sa ÇÁ·Î±×·¥ °æ·Î sa="/usr/sbin/sa" # ±â·ÏÇÒ µð¸¯Å丮¸í recorddir=/var/log/acct # ±â·ÏÇÒ µð·ºÅ丮°¡ ¾øÀ» °æ¿ì µð·ºÅ丮 »ý¼º if [ ! -d $recorddir ] ; then mkdir $recorddir fi # µð·ºÅ丮/ÆÄÀϸí ÁöÁ¤ pathname=$recorddir/$file_name ############# ÆÄÀÏ ±â·Ï ############# # ³¯Â¥ ±â·Ï ³â¿ùÀÏ date +%Y/%m/%d > $pathname # ÇÏ·ç°£ ±â·Ï(cronÀ» ¸ÅÀÏ µ¹¸± °æ¿ì) echo "================================================================================= " >> $pathname echo " Day's Activity" >> $pathname echo "================================================================================= " >> $pathname $sa -i >> $pathname # Àüü ±â·Ï echo "================================================================================= " >> $pathname echo " Total's Activity" >> $pathname echo "================================================================================= " >> $pathname $sa >> $pathname # »ç¿ëÀÚ ±â·Ï echo "================================================================================= " >> $pathname echo " User Activity" >> $pathname echo "================================================================================= " >> $pathname $sa -m >> $pathname # ÇöÀçÀÇ Åë°è ±â·ÏÀ» savacct ÆÄÀÏ¿¡ º´ÇÕÇϱâ $sa -s }}} === ac ÇÁ·Î±×·¥À¸·Î »ç¿ëÀÚ ¿¬°á½Ã°£ Á¡°ËÇϱâ === ac ÇÁ·Î±×·¥Àº /var/log/wtmp ÆÄÀÏ¿¡¼­ »ç¿ëÀÚÀÇ ·Î±×ÀÎ, ·Î±×¾Æ¿ô¿¡ °ü·ÃµÈ µ¥ÀÌÅ͸¦ ÀÌ¿ëÇØ ¿¬°á ½Ã°£À» Ãâ·ÂÇÕ´Ï´Ù. (½Ã°£´ÜÀ§) {{{# ac total 26.84}}} ÁÖ¿äÇÑ ¿É¼ÇÀ¸·Î -p¿Í -d°¡ ÀÖ½À´Ï´Ù. -p´Â »ç¿ëÀÚº°·Î -d´Â ³¯Â¥º°·Î Ãâ·ÂÇÕ´Ï´Ù. µÎ°¡Áö¸¦ µ¿½Ã¿¡ ¾²¸é ³¯Â¥º°, »ç¿ëÀÚº°·Î ºÐ·ùÇؼ­ Ãâ·ÂÇÕ´Ï´Ù. °³º° »ç¿ëÀÚµéÀÇ Á¢¼Ó ½Ã°£À» 24½Ã°£ ´ÜÀ§·Î º¸¿©Áִµ¥ Àüü »ç¿ë½Ã°£À» º¸´Â°ÍÀº ±×´ÙÁö Àǹ̰¡ ¾øÀ»°Í°°³×¿ä. ÀÌ°É ÀÌ¿ëÇÏ¸é ´©°¡ °¡Àå ¸¹ÀÌ ½Ã½ºÅÛÀ» ¾²´ÂÁö ¾Ë ¼ö ÀÖ°ÚÁö¿ä? Âü°í·Î »ç¿ëÀÚÀÇ È°µ¿ »óȲÀ» ÃßÀûÇÒ ¼ö ÀÖ´Â ¶Ç ´Ù¸¥ ÇÁ·Î±×·¥À¸·Î´Â last ¿Í lastcomm µîÀÌ ÀÖ½À´Ï´Ù. last´Â »ç¿ëÀÚ°¡ ·Î±×ÀÎÇÑ Á¤º¸¸¦ º¸¿©ÁÝ´Ï´Ù. À̶ÇÇÑ /var/log/wtmp ÆÄÀÏÀ» ÀÌ¿ëÇÏÁö¿ä. lastcommÀº À§¿¡¼­ ¼³¸íÇÑ ÆÐÅ°Áö¿¡ °°ÀÌ Æ÷ÇÔÀÌ µÇ¾îÀÖ½À´Ï´Ù. ÀÌ´Â ÀÌÀü¿¡ ½ÇÇàµÈ ¸í·Éµé¿¡ °üÇÑ Á¤º¸¸¦ º¸¿©ÁÝ´Ï´Ù. ¿ä µÎ°¡Áö ÇÁ·Î±×·¥Àº ƯÁ¤ÇÑ ½Ã±â¿¡ ´©°¡ ·Î±×ÀÎÇß´ÂÁö ±×¸®°í ´©°¡ ÇÁ·Î±×·¥À» ½ÇÇàÇß´ÂÁö ¾Ë¾Æ³»´Âµ¥ µµ¿òÀ» ÁÙ ¼ö ÀÖ½À´Ï´Ù. ±×·¸Áö¸¸ ¾ÆÁÖ Á¤È®È÷ ã¾Æ³»±â´Â Èûµé°ÚÁÒ? === ¸¶Ä¡¸ç === óÀ½ ¸»À» Çß´ø´ë·Î ÃÖ±Ù Çϵå¿þ¾î°¡ ¿ö³« ºü¸£°í ¹ßÀüÇÏ°í ¼º´ÉÀÌ ¶Ù¾î³ª´Ùº¸´Ï ½Ã½ºÅÛ ÃÖÀûÈ­¿¡ ´ëÇÑ °í¹ÎÀº ´ú ¼ö°¡ ÀÖÀ» °ÍÀÔ´Ï´Ù. ¶ÇÇÑ ½ÇÁ¦·Î ¼­¹ö ÃÖÀûÈ­¸¦ ÇÑ´Ù´Â°Ô ¸»¸¸Å­ ½¬¿î°ÍÀº ¾Æ´Ï°í Â÷¶ó¸® Çϵå¿þ¾î¸¦ ±¸ÀÔÇÏ´Â°Ô °¡Àå ½¬¿î ¹æ¹ýÀÌ°ÚÁö¿ä. ±×·¸Áö¸¸ ÇöÀçÀÇ ½Ã½ºÅÛ¿¡¼­ ÃÖÀûÀÇ ¼º´ÉÀ» ³»·Á°íÇÑ´Ù¸é À§ÀÇ ³»¿ëµéÀÌ ¾î´ÀÁ¤µµ µµ¿òÀ» ÁÙ ¼ö´Â ÀÖÀ» °ÍÀÌ¸ç ¼­¹ö °ü¸®ÀÚ´Â Ç×»ó ¼­¹öÀÇ »óÅ¿¡ ´ëÇؼ­ °ü½ÉÀ» °¡Áö°í ÀÖ¾î¾ß°ÚÁö¿ä. ±â°è¸¦ Å¿ÇϱâÀü¿¡ ¾ó¸¶³ª ¾ÖÁ¤(?)À» °¡Áö°í °ü½ÉÀÖ°Ô ½Ã½ºÅÛÀ» °ü¸®Çß´ÂÁö »ý°¢ÇսôÙ.