ÀÌ¹Ì ¸î¹ø¿¡ °ÉÃļ °£´ÜÇÏ°Ô proc ÆÄÀϽýºÅÛ¿¡ ´ëÇØ¼
¾Ë¾Æº¸±ä ÇßÀ¸³ª, Áö±Ý±îÁöÀÇ ¹®¼´Â °ÅÀÇ ÀÔ¹®¼öÁØÀÇ À̺¥Æ®¼º
¹®¼¿´¾ú´Ù.
±×·¡¼ À̹ø¿¡´Â Á»´õ ÀÚ¼¼È÷ ´Ù·ç°íÀÚ ¸¶À½¸Ô°í ¹®¼¸¦ ÀÛ¼ºÇÑ´Ù.
À̹®¼´Â ¸®´ª½º Ä¿³Î 2.4.x ¸¦ ±âÁØÀ¸·Î ÀÛ¼ºµÉ°ÍÀ̳ª, ´ëºÎºÐÀÇ
°æ¿ì 2.2.x ¿¡µµ µ¿ÀÏÇÏ°Ô Àû¿ëµÉ °ÍÀÌ´Ù. °¡²ûÀº ¼Ö¶ó¸®½º¿Í
ºñ±³ ¼³¸íÀ» ÇÏ°Ô µÉ°ÍÀÌ´Ù.
proc ÆÄÀϽýºÅÛ¿¡ °ü·ÃµÈ ¹®¼´Â Å©°Ô 3ÀåÀ¸·Î ´Ù·ê°ÍÀÌ´Ù.
ù¹øÂ° ¹®¼´Â ½Ã½ºÅÛÁ¤º¸ ¼öÁý¿¡ ´ëÇÑ ³»¿ëÀ» ´Ù·ç¸ç,
µÎ¹øÂ° ¹®¼´Â ½Ã½ºÅÛÁ¤º¸ º¯°æ¿¡ ´ëÇÑ ³»¿ëÀ» ´Ù·ê°ÍÀÌ´Ù.
¸¶Áö¸· ¹®¼´Â ½Ã½ºÅÛÁ¤º¸ ¼öÁý±â´ÉÀ» ÀÌ¿ëÇÑ °£´ÜÇÑ ¾îÇø®ÄÉÀ̼Ç
Á¦ÀÛ°ú ÇÔ²² ÀڽŸ¸ÀÇ proc ½Ã½ºÅÛÀ» ¸¸µå´Â ¹ý¿¡ ´ëÇØ¼ ¾Ë¾Æº¼
°ÍÀÌ´Ù.
À̹ø ¹®¼´Â ±×Áß Ã¹¹øÂ° ÀåÀ¸·Î ½Ã½ºÅÛÁ¤º¸ ¼öÁý¿¡ ´ëÇÑ ³»¿ëÀ»
´Ù·ç°Ô µÈ´Ù.
À̹øÀå¿¡¼´Â pseudo ÆÄÀÏ ½Ã½ºÅÛÀÎ /proc ¿¡ ´ëÇÑ °³·«ÀûÀÎ ¼³¸í°ú ÇÔ²²,
LInux ½Ã½ºÅÛ»óÀÇ ¾î¶°ÇÑ Á¤º¸¸¦ Á¦°øÇϰí ÀÖ´ÂÁö ¾Ë¾Æº¼°ÍÀÌ´Ù.
ÀÌÇØ¸¦ µ½±â À§Çؼ ½Ç·Ê¸¦ µé¾î°¡¸é¼ ¼³¸íÀ» ÇÏ°Ô µÉ°ÍÀÌ´Ù.
±âº»ÀûÀ¸·Î proc ÆÄÀÏ ½Ã½ºÅÛÀº Ä¿³ÎÀÌ °¡Áö°í ÀÖ´Â ¿©·¯°¡Áö µ¥ÀÌŸ
±¸Á¶Ã¼¸¦ ½Ã½ºÅÛ »ç¿ëÀÚ(ÇÁ·Î±×·¡¸Ó ȤÀº ½Ã½ºÅÛ °ü¸®ÀÚ)¿¡°Ô ½±°Ô
Àü´ÞÇϱâ À§Çؼ »ç¿ëÇÏ´Â ¸ñÀûÀ¸·Î ¸¸µé¾îÁ® ÀÖ´Ù. ÀÌ /proc ÆÄÀϽýºÅÛ
À» ÀÌ¿ëÇÏ°Ô µÊÀ¸·Î½á Á»´õ ½±°Ô °¢Á¾ ½Ã½ºÅÛ Á¤º¸¸¦ ¾ò¾î¿Ã¼ö ÀÖÀ¸¸ç,
¿©·¯°¡Áö Ä¿³Î¿É¼ÇÀ» Ưº°ÇÑ ÇÁ·Î±×·¡¹Ö °úÁ¤¾øÀÌ ´ÜÁö ÆÄÀÏÀÇ Á¤º¸º¯°æ
¸¸À» ÅëÇØ¼ ½±°Ô º¯°æÇÒ¼ö ÀÖµµ·Ï µµ¿ÍÁØ´Ù.
½ÇÁ¦ proc ÆÄÀϽýºÅÛÀ» ÀÌ¿ëÇÏÁö ¾Ê°í Ä¿³Î µ¥ÀÌŸ ±¸Á¶Ã¼¿¡¼ Á÷Á¢
¿øÇÏ´Â ½Ã½ºÅÛ Á¤º¸¸¦ °¡Á®¿Ã¼ö ÀÖ±â´Â ÇÏÁö¸¸, º°µµÀÇ ÇÁ·Î±×·¡¹Ö
°úÁ¤À» °ÅÃÄ¾ß ÇÒ»Ó´õ¶ó ²Ï ±ÍÂúÀº ¿©·¯°¡Áö ¿ä°ÇÀ» ¸¸Á·½ÃÄÑÁÖ¾î¾ß ÇÑ´Ù.
Ưº°È÷ ¼º´ÉÀ» Áß¿ä½Ã ¿©±âÁö ¾Ê´Â ´ëºÎºÐÀÇ °æ¿ì proc ÆÄÀϽýºÅÛÀ»
ÀÌ¿ëÇØ¼ Á¤º¸¸¦ °¡Á®¿À´Â °ÍÀ¸·Îµµ ÃæºÐÈ÷ ±âº»ÀûÀÎ ¸ñÀûÀ»
´Þ¼ºÇÒ¼ö ÀÖÀ»°ÍÀÌ´Ù.
¼öÁýµÈ Á¤º¸´Â ƯÈ÷ ½Ã½ºÅÛ°ü¸®¸¦ À§ÇÑ ½Ã½ºÅÛ ¸ð´ÏÅ͸µ ½Ã½ºÅÛ(SMS)
°ú ½Ã½ºÅÛ ÃÖÀûȸ¦ À§ÇÑ ½Ã½ºÅÛ¼º´ÉºÐ¼®µî¿¡ À¯¿ëÇÏ°Ô »ç¿ëµÉ¼ö ÀÖ´Ù.
ƯÈ÷ ¸®´ª½ºÀÇ °æ¿ì ´Ù¸¥ ¿î¿µÃ¼Á¦ º¸´Ù ´õ¿í ¸¹Àº »ó¼¼ÇÑ Á¤º¸µéÀ»
(»ç½Ç»ó °ÅÀÇ ´ëºÎºÐÀÇ Áß¿ä Á¤º¸µéÀ») proc ÆÄÀϽýºÅÛÀ» ÅëÇØ¼
Á¦°øÇÔÀ¸·Î, ¿©±â¿¡ ´ëÇÑ Á¤º¸¸¦ Á¦´ë·Î ¾Ë°Ô µÉ°æ¿ì ½Ã½ºÅÛ ÇÁ·Î±×·¡¹ÖÀ»
Á»´õ ¿øÇÒÇÏ°Ô ÇÒ¼ö ÀÖ´Ù. »ç½Ç ¸®´ª½º »ó¿¡¼ Á¦´ë·ÎµÈ
½Ã½ºÅÛ ÇÁ·Î±×·¡¹ÖÀ» ¿øÇÑ´Ù¸é proc ÆÄÀϽýºÅÛÀ» Ȱ¿ëÇÒÁÙ ¾Ë¾Æ¾ß
ÇÒ°ÍÀÌ´Ù.
¾Æ·¡ÀÇ ³»¿ëµéÀº linux ¸¦ »ç¿ëÇϰí ÀÖ´Ù¸é cat ȤÀº vi ¿Í °°Àº
¿¡µðÅ͸¦ ÅëÇØ¼ ¹Ù·Î Å×½ºÆ® °¡´ÉÇÔÀ¸·Î, °¡±ÞÀûÀ̸é
³»¿ëÀ» ¹Ýµå½Ã È®ÀÎÇØ º¸µµ·Ï ÇÏÀÚ.
/proc µð·ºÅ丮¿¡´Â ÇÁ·Î¼¼½º Á¤º¸¸¦ °¡Áö´Â µð·ºÅ丮°¡ Á¸ÀçÇÑ´Ù.
À̵é ÇÁ·Î¼¼½ºÁ¤º¸ µð·ºÅ丮´Â °¢ ÇÁ·Î¼¼½ºÀÇ PID¸¦ À̸§À¸·Î °¡Áö¸ç
ÀÌ µð·ºÅ丮 ¾È¿¡´Â ´ÙÀ½°ú °°Àº ´Ù¾çÇÑ Á¤º¸µéÀ» Á¦°øÇÑ´Ù.
표 1. /proc/PID ¿¡¼ Á¦°øÇÏ´Â ÇÁ·Î¼¼½º Á¤º¸µé
| ÆÄÀϸí | Á¦°ø Á¤º¸ |
| cmdline | ¸í·ÉÇà ¿É¼Ç |
| cpu | SMP ½Ã½ºÅÛÀϰæ¿ì ¾î¶² cpu ¿¡¼ ½ÇÇàµÇ¾ú´ÂÁö |
| cwd | ÀÛ¾÷µð·ºÅ丮 ¸µÅ© |
| exe | ÇÁ·Î¼¼½º¸¦ ½ÇÇà½ÃŲ ¸í·É¾îÀÇ ¸µÅ© |
| fd | µð·ºÅ丮·Î ¸ðµç ÆÄÀÏÁöÁ¤ÀÚ¸¦ °¡Áø´Ù. |
| maps | ½ÇÇà¾î¿Í ¶óÀ̺귯¸®ÆÄÀÏÀÇ ¸Þ¸ð¸® ¸Ê |
| mem | ÀÌ ÇÁ·Î¼¼½º¿¡ ÀÇÇØ¼ »ç¿ëµÇ´Â ¸Þ¸ð¸® |
| root | ÀÌ ÇÁ·Î¼¼½ºÀÇ ·çÆ® µð·ºÅ丮 |
| stat | ÇÁ·Î¼¼½º »óÅ |
| statm | ÇÁ·Î¼¼½º ¸Þ¸ð¸® »óÅ |
| status | ÇÁ·Î¼¼½º »óÅÂ(Àΰ£ÀÌ ¾Ë¾Æº¸±â ½¬¿î Æ÷¸Ë) |
¿¹¸¦ µé¾î¼ PID°¡ 1264 ÀÎ ÇÁ·Î¼¼½ºÀÇ Á¤º¸¸¦ ¾Ë¾Æº¸°í ½Í´Ù¸é
/proc/1264/status Á¤º¸¸¦ È®ÀÎÇÏ¸é µÈ´Ù.
[root@localhost 1264]# cat /proc/1264/status
Name: bx
State: S (sleeping)
Tgid: 1264
Pid: 1264
PPid: 1225
TracerPid: 0
Uid: 500 500 500 500
Gid: 500 500 500 500
FDSize: 256
Groups: 500
VmSize: 3620 kB
VmLck: 0 kB
VmRSS: 1900 kB
VmData: 636 kB
VmStk: 140 kB
VmExe: 896 kB
VmLib: 1756 kB
SigPnd: 0000000000000000
SigBlk: 0000000080000000
SigIgn: 8000000000001004
SigCgt: 0000000000036203
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
|
³»¿ëÀ» º¸¸é ps ¸í·É¾î°¡ º¸¿©ÁÖ´Â ´ëºÎºÐÀÇ Á¤º¸¸¦ º¸¿©ÁÖ°í ÀÖÀ½À»
¾Ë¼ö ÀÖÀ¸¸ç, ½ÇÁúÀûÀ¸·Îµµ ps ÇÁ·Î±×·¥Àº proc ÆÄÀϽýºÅÛÀÇ Á¤º¸¸¦
ÀÌ¿ëÇØ¼ ½Ã½ºÅÛ Á¤º¸¸¦ Ãâ·Â½ÃÄÑÁØ´Ù.
½ÇÁ¦ ÇÁ·Î¼¼½º Á¤º¸ ºÐ¼®ÇÁ·Î±×·¥À»
¸¸µéÀÏÀÌ ÀÖ´Ù¸é status º¸´Ù´Â stat ÆÄÀÏÀ» »ç¿ëÇÏ´Â°Ô ÆíÇÒ°ÍÀÌ´Ù.
status ´Â Àΰ£ÀÌ º¸±â¿¡´Â ÆíÇÏÁö¸¸ ÇÁ·Î±×·¡¹Ö ÀÛ¾÷À» ÅëÇØ¼
¿øÇÏ´Â µ¥ÀÌŸ¸¦ °¡Á®¿À±â¿¡´Â Àû´çÇÏÁö ¾ÊÀº Æ÷¸ËÀ¸·Î µÇ¾î ÀÖ´Ù.
¶ÇÇÑ ststm ÆÄÀÏÀ» È®ÀÎÇϸé ÇÁ·Î¼¼½º ¸Þ¸ð¸® »ç¿ë¿¡ ´ëÇÑ ´õ¿í »ó¼¼ÇÑ
³»¿ëÀ» È®ÀÎÇØ º¼¼ö ÀÖ´Ù.
¿©±â¿¡´Â ´ÙÀ½°ú °°Àº »ó¼¼ ¸Þ¸ð¸® Á¤º¸°¡ Æ÷ÇԵǾî ÀÖ´Ù.
표 2. statm ÆÄÀÏÀÌ °¡Áö´Â Á¤º¸µé
| Çʵå | °ª |
| size | ÇÁ·Î±×·¥ÀÇ ÃÑ Å©±â |
| resident | ÇÒ´çµÈ ¸Þ¸ð¸®ÀÇ Å©±â |
| shared | °øÀ¯¿µ¿ªÀ¸·Î ÇÒ´çµÈ ÆäÀÌÁöÀÇ ¼ö |
| trs | code ¸¦ À§ÇØ ÇÒ´çµÈ ÆäÀÌÁöÀÇ ¼ö |
| drs | data¹× stack ·Î ÇÒ´çµÈ ÆäÀÌÁöÀÇ ¼ö |
| lrs | ¶óÀ̺귯¸® ·Î ÇÒ´çµÈ ÆäÀÌÁöÀÇ ¼ö |
| dt | dirty ÆäÀÌÁöÀÇ ¼ö |
¸®´ª½ºÀÇ proc ÆÄÀϽýºÅÛÀº ÇÁ·Î¼¼½ºÀÇ Á¤º¸»Ó¸¸ ¾Æ´Ï¶ó
Ä¿³ÎÀÌ ½ÇÇàµÇ¸é¼
ÀÛ¼ºµÈ °¢Á¾ Á¤º¸µéÀ» ¿ª½Ã ÆÄÀÏ·Î °ü¸®Çϰí ÀÖ´Ù.
(¼Ö¶ó¸®½ºÀÇ °æ¿ì¿¡´Â
´ÜÁö ÇÁ·Î¼¼½º Á¤º¸¸¸À» Á¦°øÇÑ´Ù.) Á¦°øÇÏ´Â Á¤º¸´Â ´ÙÀ½ÀÇ Å×ÀÌºí¿¡¼
È®ÀÎÇϱ⠹ٶõ´Ù.
표 3. /proc ÀÇ ÆÄÀÏÁ¤º¸µé
| ÆÄÀÏ | ³»¿ë |
| apm | Advanced power management Á¤º¸ |
| bus | bus °ü·ÃÁ¤º¸ |
| cmdline | Ä¿³Î ½ÇÇà¿É¼Ç |
| cpuinfo | »ç¿ëcpu Á¤º¸ |
| device | »ç¿ë°¡´ÉÇÑ µð¹ÙÀ̽º(ºí·°/¹®ÀÚ ÀåÄ¡) |
| dma | »ç¿ëÇϰí ÀÖ´Â DMS ä³Î |
| filesystems | Áö¿øµÇ´Â ÆÄÀϽýºÅÛ |
| driver/rtc | µå¶óÀ̹ö Á¤º¸ |
| execdomains | execdomains, º¸¾È°ú °ü·Ã |
| fb | ÇÁ·¹ÀÓ¹öÆÛ µð¹ÙÀ̽º |
| ide | IDE ÀåÄ¡¿¡ ´ëÇÑ Á¤º¸ µð·ºÅ丮 |
| interrupts | ÀÎÅÍ·´Æ® »ç¿ëÀ² |
| iomem | ¸Þ¸ð¸®Áöµµ |
| ioports | »ç¿ëÁßÀÎ ÀÔÃâ·ÂÆ÷Æ® |
| isapnp | pnp Á¤º¸ |
| kcore | Ä¿³Î core À̹ÌÁö |
| kmsg | Ä¿³Î¸Þ½ÃÁö |
| ksyms | Ä¿³Î ½Éº¼ Å×À̺í |
| loadavg | ÃÖ±Ù 1,5,15 ºÐÀÇ Æò±Õ load |
| locks | kernel locks Á¤º¸ |
| meminfo | ¸Þ¸ð¸® Á¤º¸ |
| misc | ±âŸµîµî |
| modules | ½ÇÇàÁßÀÎ(load) ¸ðµâ ¸ñ·Ï, lsmod·Î ³ª¿À´Â Á¤º¸´Ù |
| mounts | ¸¶¿îÆ®µÈ ÆÄÀϽýºÅÛ Á¤º¸ |
| net | ³×Æ®¿öÅ· Á¤º¸ |
| partitions | ÆÄƼ¼Ç Á¤º¸ |
| pci | PCI ¹ö½º Á¤º¸ |
| scsi | SCSI Á¤º¸ |
| slabinfo | Slab pool Á¤º¸ |
| swaps | swap ÆÄÀϽýºÅÛ »ç¿ëÁ¤º¸ |
| sysvipc | SysVIPC ÀÚ¿øÁ¤º¸(¸Þ½ÃÁöÅ¥, ¼¼¸¶Æ÷¾î, °øÀ¯¸Þ¸ð¸®µî) |
| tty | tty µå¶óÀ̹ö Á¤º¸ |
| uptime | ½Ã½ºÅÛ °¡µµ½Ã°£ |
| version | Ä¿³Î¹öÁ¯ |
¿¹¸¦µé¾î¼ ½Ã½ºÅÛ ÀÎÅÍ·´Æ®¸¦ È®ÀÎÇØ º¸°í ½Í´Ù¸é interrupts
ÈÀÏÀ» È®ÀÎÇÏ¸é µÈ´Ù.
[root@localhost /proc]# cat /proc/interrupts
CPU0
0: 55607808 XT-PIC timer
1: 479783 XT-PIC keyboard
2: 0 XT-PIC cascade
8: 1 XT-PIC rtc
9: 2217067 XT-PIC eth0
10: 88957 XT-PIC usb-uhci, usb-uhci, Crystal CS4281
12: 2121308 XT-PIC PS/2 Mouse
14: 487260 XT-PIC ide0
15: 80045 XT-PIC ide1
NMI: 0
ERR: 0
|
CPU0 À̶õ Çì´õ¸í¿¡¼ º¼¼ö ÀÖµíÀÌ º¹¼öÀÇ CPU ÀÎÅÍ·´Æ®Á¤º¸¸¦
Ç¥½ÃÇØ ÁÙ¼ö ÀÖ´Ù. interrupts ´Â °¢°¢ÀÇ ÀåÄ¡°¡ ¾î´ÀÁ¤µµÀÇ
»ç¿ëÀ²À» º¸À̰í ÀÖ´ÂÁö È®ÀÎÇϱâ À§Çؼ À¯¿ëÇÏ°Ô »ç¿ëÇÒ¼ö ÀÖ´Ù.
À̰ÍÀº ÀÏÁ¤ÇÑ ½Ã°£°£°ÝÀ» °¡Áö°í À§ÀÇ ÆÄÀÏÀÇ ³»¿ëÀ»
°Ë»çÇÏ¿©¼ ÇöÀçÀÇ °ª¿¡¼ ÀÌÀüÀÇ °ªÀ» »« °ªÀ¸·Î Á¶»çÇÒ¼ö
ÀÖ´Ù. ½ÇÁ¦ Áö±Ý find ./ -name °ú °°Àº Çϵåµð½ºÅ© ÀÎÅÍ·´Æ®¸¦
¸¹ÀÌ »ç¿ëÇÏ´Â ÀÛ¾÷À» ½ÃŲÈÄ ide0 ÀÇ º¯ÈÀ²À» º¸±â ¹Ù¶õ´Ù.
¾Æ¸¶µµ Æò¼Ò¿¡ ºñÇØ¼ º¯ÈÀ²ÀÌ ±ØÀûÀ¸·Î Áõ°¡ÇÏ´Â°É º¼¼ö ÀÖÀ»
°ÍÀÌ´Ù. ´ÙÀ½Àº ÇÊÀÚ°¡ Å×½ºÆ®¸¦ À§Çؼ ÀÛ¼ºÇÑ
°£´ÜÇÑ ½ºÅ©¸³Æ®ÀÌ´Ù.
[root@localhost proc]# while [ 1 ]
> do
> cat interrupts | grep "ide0"
> sleep 1
> done
14: 48529 XT-PIC ide0
14: 48529 XT-PIC ide0
14: 48529 XT-PIC ide0
14: 48538 XT-PIC ide0 -- find ¸¦ ½ÇÇà½ÃÄ×´Ù.
14: 48624 XT-PIC ide0 ---+
14: 48723 XT-PIC ide0 |
14: 48836 XT-PIC ide0 | ÀÎÅÍ·´Æ®°¡ Áõ°¡ÇÔÀ» ¾Ë¼ö ÀÖ´Ù.
14: 48930 XT-PIC ide0 |
14: 49031 XT-PIC ide0 ---+
|
Ä¿³Î 2.4 ºÎÅÍ´Â irq ¶ó´Â Èï¹Ì·Î¿î Á¤º¸¸¦ ´ã°í ÀÖ´Â »õ·Î¿î
½Ã½ºÅÛÁ¤º¸¸¦ ¾Ë·ÁÁÖ±â À§ÇÑ µð·ºÅ丮°¡ ¸¸µé¾îÁ® ÀÖ´Ù. ¿©±â¿¡
ÀÖ´Â Á¤º¸µéÀ» º¯°æÇϸé IRQ¿Í CPUÀÇ °ü°è¸¦ Á¶Á¤ÇÒ¼ö ÀÖ´Ù.
ÀÌ À̾߱â´Â ¿©·¯ºÐÀÌ ´ÜÁö ÇϳªÀÇ CPU ¿¡¼ IRQ ¸¦ "hook" ÇÒ¼ö ÀÖµµ·Ï
ÇÒ¼ö ÀÖÀ½À» ÀǹÌÇÑ´Ù. - ¹°·Ð Å×½ºÆ®¸¦ À§Çؼ´Â 2°³ ÀÌ»óÀÇ CPU ¸¦
»ç¿ëÇÏ´Â ½Ã½ºÅÛÀÌ ÇÊ¿ä·Î ÇÏÁö¸¸ -
irq µð·ºÅ丮¸¦ º¸¸é °¢°¢ÀÇ IRQ ¹øÈ£¸¦ À̸§À¸·Î °®´Â ¼ºê µð·ºÅ丮¸¦
°¡Áö¸ç ÀÌ µð·ºÅ丮¿¡´Â prof_cpu_mask ¶ó´Â ÆÄÀÏÀ» °¡Áø´Ù.
(ÀÌ ÆÄÀÏÀº CPU °¡ 2°³ ÀÌ»óÀ϶§¸¸ Á¸ÀçÇÑ´Ù)
[root@localhost /proc]# ls irq/
0 1 10 11 12 13 14 15 2 3 4 5 6 7 8 9 prof_cpu_mask
[root@localhost /proc]# ls irq/0/
smp_affinity
|
smp_affinity ¸¦ º¸¸é ´ÙÀ½°ú °°Àº °ªÀÌ ¼¼ÆÃµÇ¾î ÀÖÀ»°ÍÀÌ´Ù.
[root@localhost /proc]# cat irq/0/smp_affinity
ffffffff
|
ÀÌ °ªÀº bitmask ·Î½á, ´ç½ÅÀÌ ÀÌ IRQ(0¹ø)¸¦ Á¦¾îÇϱâ À§Çؼ ¾î¶²
CPU¸¦ ÇÒ´çÇÒ°ÍÀÎÁö¸¦ ÁöÁ¤ÇÒ¼ö ÀÖ´Ù.
¿¹¸¦µé¾î¼ ´ÜÁö ù¹øÂ° CPU ¸¸ÀÌ IRQ ¸¦ Á¦¾îÇϵµ·Ï ÇÏ·Á¸é ¾Æ·¡¿Í
°°ÀÌÇϸéµÈ´Ù.
[root@localhost /proc]# echo 1 > irq/0/smp_affinity
|
/proc/ide µð·ºÅ丮´Â Ä¿³Î¿¡¼ µî·ÏÁßÀÎ ¸ðµç IDE ÀåÄ¡¿¡ ´ëÇÑ
Á¤º¸¸¦ °¡Áö°í ÀÖ´Ù. ÀÌ µð·ºÅ丮¿¡´Â °¢°¢ÀÇ IDE ÄÁÆ®·Ñ·¯ Á¤º¸¸¦
°¡Áö´Â ½áºêµð·ºÅ丮¸¦ °¡Áø´Ù. ±×¸®°í °¢°¢ÀÇ IDE ÄÁÆ®·Ñ·¯¸¦ °¡¸®Å°´Â
½Éº¼¸¯ ¸µÅ© ÆÄÀϰú °¢ ÀåÄ¡ ¹öÁ¯À» ´ã°í ÀÖ´Â drivers ÆÄÀÏÀ»
Á¦°øÇÑ´Ù.
´ÙÀ½Àº IDE ÀåÄ¡ÀÇ ¹öÁ¯Á¤º¸¸¦ ´ã°í ÀÖ´Â drivers ÆÄÀÏÀÇ Ãâ·Â ³»¿ë
ÀÌ´Ù.
[root@coco ide]# cat drivers
ide-cdrom version 4.59
ide-floppy version 0.97
ide-disk version 1.10
|
À§ÀÇ drivers ¿¡´Â °¡Àå ÀϹÝÀûÀÎ Á¤º¸ÀÎ ¾î¶² ide ÀåÄ¡ÀÎÁö(
Çϵåµð½ºÅ©, cdrom, Ç÷ÎÇÁ)¿Í ±× ¹öÁ¯¸¸À» °¡Áö°í Àִµ¥,
Á»´õ ÀÚ¼¼ÇÑ ³»¿ëÀ» ¾Ë±â¸¦ ¿øÇÑ´Ù¸é ide0, ide1 °ú °°Àº
µð·ºÅ丮ÀÇ ³»¿ëÀ» È®ÀÎÇØ¾ß ÇÑ´Ù. ´ÙÀ½ Å×À̺íÀ»
Âü°íÇϱ⠹ٶõ´Ù.
표 4. IDE ÄÁÆ®·Ñ·¯ Á¤º¸ /proc/ide/ide?
| ÆÄÀϸí | Á¦°ø Á¤º¸ |
| channel | IDE ü³Î (0 ¶Ç´Â 1) |
| config | PCI/IDE bridge ¸¦ À§ÇÑ ¼³Á¤ |
| mate | Mate name |
| model | IDE ÄÁÆ®·Ñ·¯ÀÇ Ä¨¼Â/ŸÀÔ |
IDE ÄÁÆ®·Ñ·¯ Á¤º¸ /proc/ide? µð·ºÅ丮 ¾Æ·¡¿¡´Â IDE ÀåÄ¡
Á¤º¸¸¦ °¡Áö´Â ÆÄÀϵéÀÌ Á¦°øµÈ´Ù. ´ÙÀ½ Å×À̺íÀ» Âü°íÇ϶ó.
표 5. IDE ÄÁÆ®·Ñ·¯ Á¤º¸ /proc/ide/ide?/
| ÆÄÀϸí | Á¦°ø Á¤º¸ |
| cache | cache Á¤º¸ |
| capacity | ÀúÀå°ø°£ºí·°(1ºí·° == 512byte) |
| driver | µå¶óÀ̹ö ¹öÁ¯ |
| geometry | ¹°¸®Àû/³í¸®Àû geometry |
| identify | devide identify block |
| media | ¸ÅüÀÇ Á¾·ù |
| settings | µð¹ÙÀ̽º ¼Â¾÷ Á¤º¸ |
| smart_thresholds | IDE disk management thresholds |
| smart_value | IDE disk management values |
ÇÊÀÚÀÇ PC ¿¡´Â ÇϳªÀÇ HDD ¿Í ÇϳªÀÇ CDROM (µÑ´Ù IDE) °¡
´Þ·ÁÀÖÀÚ. CDROM Àº hdc ¿Í ¿¬°áµÇ¾î Àִµ¥, /proc/ide/hdc/media
ÀÇ ³»¿ëÀ» Ãâ·ÂÇÏÀÚ cdrom À̶ó°í ³ª¿Ô´Ù. ¹Ì´õ¾î ŸÀÔÀ»
½±°Ô ¾Ë¼ö ÀÖ´Ù. ¶ÇÇÑ capacity »çÀÌÁî°¡ 1108760 ºí·° À¸·Î
³ª¿Ô´Âµ¥, 1block Àº 512byte ÀÓÀ¸·Î °è»êÇϸé 567685120 À¸·Î
cdrom ¹Ìµð¾îÀÇ ¿ë·®À» °è»êÇÒ¼ö ÀÖ´Ù. HDD ¿ª½Ã ¸¶Âù°¡ÁöÀÇ
¹æ¹ýÀ» ÀÌ¿ëÇØ¼ ¹Ìµð¾î¿Í ¿ë·®À» °è»êÇÒ¼ö ÀÖÀ»°ÍÀÌ´Ù.
±×·¯³ª °¡Àå Áß¿äÇÑ Á¤º¸¸¦ ÁÖ´Â °ÍÀº settings ÆÄÀÏÀϰÍÀÌ´Ù.
[root@localhost hda]# cat settings
name value min max mode
---- ----- --- --- ----
bios_cyl 1861 0 65535 rw
bios_head 255 0 255 rw
bios_sect 63 0 63 rw
breada_readahead 4 0 127 rw
bswap 0 0 1 r
current_speed 66 0 69 rw
file_readahead 0 0 2097151 rw
ide_scsi 0 0 1 rw
init_speed 12 0 69 rw
io_32bit 1 0 3 rw
keepsettings 0 0 1 rw
lun 0 0 7 rw
max_kb_per_request 64 1 127 rw
multcount 8 0 8 rw
nice1 1 0 1 rw
nowerr 0 0 1 rw
number 0 0 3 rw
pio_mode write-only 0 255 w
slow 0 0 1 rw
unmaskirq 1 0 1 rw
using_dma 1 0 1 rw
|
¾ð¶æºÁµµ ½Ç¸°´õ, Çì´õ, ¼½ÅÍ µî¿¡ ´ëÇÑ Á¤º¸°¡ ´«¿¡ µé¾î¿Ã °ÍÀÌ´Ù.
/proc/net µð·ºÅ丮¿¡´Â ³×Æ®¿÷°ú °ü·ÃµÈ ´Ù¾çÇÑ Á¤º¸¸¦ °¡Áö°í
ÀÖ´Â ÆÄÀϵéÀÌ ÀÖ´Ù. ´ç½ÅÀÇ ½Ã½ºÅÛÀÌ ipv6 ¸¦ Áö±ÝÁö¿øÇϰí
ÀÖ´Ù¸é ipv6 ¿Í Á¤º¸¿Í °ü·ÃµÈ ´ÙÀ½ÀÇ Ãß°¡ ÆÄÀϵéÀÌ °¡Áö°í ÀÖÀ»
°ÍÀÌ´Ù. ´ç½ÅÀÌ kernel 2.4.x ¸¦ »ç¿ëÇϰí ipv6 ¸ðµâÀ» °¡Áö°í
ÀÖ´Ù¸é Áö±Ý modprobe ¸¦ ÀÌ¿ëÇØ¼ ipv6 ¸ðµâÀ» ÀûÀçÇϱ⠹ٶõ´Ù.
±×·³ ¾Æ·¡¿Í °°Àº IPv6 Á¤º¸°ü·Ã ÆÄÀϵéÀÌ »ý¼ºµÉ °ÍÀÌ´Ù.
[root@localhost /]# modprobe ipv6
[root@localhost root]# lsmod
ipv6 140416 -1
sb 7968 0 (autoclean)
sb_lib 34624 0 (autoclean) [sb]
uart401 6560 0 (autoclean) [sb_lib]
sound 59052 0 (autoclean) [sb_lib uart401]
soundcore 4324 5 (autoclean) [sb_lib sound]
mga 100656 14
...
|
표 6. /proc/net ¿¡¼ Á¦°øÇÏ´Â IPv6 Á¤º¸
| ÆÄÀϸí | Á¦°ø Á¤º¸ |
| udp6 | ¿¸° UDP ¼ÒÄϸ®½ºÆ® |
| tcp6 | ¿¸° TCP ¼ÒÄϸ®½ºÆ® |
| raw6 | RAW µð¹ÙÀ̽º »óÅ |
| igmp6 | IP ¸ÖƼij½ºÆ® ÁÖ¼Ò |
| if_inet6 | IPv6 ÀÎÅÍÆäÀ̽º ÁÖ¼Ò¸ñ·Ï |
| ipv6_route | IPv6 ¸¦ À§ÇÑ Ä¿³Î ¶ó¿ìÆÃ Å×À̺í |
| ipv6_stats | Global IPv6 ¶ó¿ìÆÃ Å×À̺í |
| sockstat6 | IPv6 ¼ÒÄÏ »óÅÂ |
| snmp6 | IPv6 snmp µ¥ÀÌŸ |
´ÙÀ½Àº ÀϹÝÀûÀÎ µ¥ÀÌŸÀÌ´Ù. IPv4 °ü·Ã ³×Æ®¿÷ Á¤º¸ÆÄÀϰú
´Ù¸¥ °ÍµéÀ» Æ÷ÇÔÇϰí ÀÖ´Ù.
표 7. /proc/net ¿¡¼ Á¦°øÇÏ´Â ³×Æ®¿÷ Á¤º¸
| ÆÄÀϸí | Á¦°ø Á¤º¸ |
| arp | Ä¿³Î ARP Å×À̺í |
| dev | ³×Æ®¿÷ µð¹ÙÀ̽º »óÅ |
| ip_fwchains | ¹æÈº® |
| ip_fwchains | ¹æÈº® chain ·ê |
| ip_fwnames | ¹æÈº® chain À̸§ |
| netstat | ³×Æ®¿÷Åë°è |
| raw | raw µð¹ÙÀ̽º Åë°è |
| route | Ä¿³Î ¶ó¿ìÆÃ Å×À̺í |
| rpc | rpc Á¤º¸ µð·ºÅ丮 |
| rt_cache | ¶ó¿ìÆÃ ij½¬ |
| snmp | SNMP µ¥ÀÌŸ |
| sockstat | ¼ÒÄÏ Åë°è |
| tcp | tcp ¼ÒÄÏ |
| tr_rif | Token ring RIF ¶ó¿ìÆÃ Å×À̺í |
| udp | UDP ¼ÒÄÏ |
| unix | Unix µµ¸ÞÀÎ ¼ÒÄÏ |
| wireless | Wireless ÀÎÅÍÆäÀ̽º µ¥ÀÌŸ |
| igmp | IP ¸ÖƼij½ºÆ® ÁÖ¼Ò |
| psched | Global packet scheduler parameters |
| netlink | PF_NETLINK ¼ÒÄÏ ¸®½ºÆ® |
| ip_mr_vifs | List of multicast virtual interface |
| ip_mr_cache | List of multicast routing cache |
¿¹¸¦ µé¾î¼ dev ÆÄÀÏÀ» ÀÏÁ¤ ½Ã°£°£°ÝÀ¸·Î ºÐ¼®Çϸé,
°¢°¢ÀÇ ³×Æ®¿÷ ÀåÄ¡¿¡ ¾î´ÀÁ¤µµÀÇ Æ®·¹ÇÈÀÌ ÀÖ´ÂÁö ¾Ë¾Æ³¾¼ö ÀÖ´Ù.
[root@localhost net]# cat dev
Inter-| Receive | Transmit ...
lo: 0 0 0 0 0 0 0 0 0 ...
eth0: 3471409 8518 0 0 0 0 0 0 522127 ...
|
¶ÇÇÑ tcp ÆÄÀÏÀ» º¸¸é ÇöÀç Ä¿³Î¿¡¼ °ü¸®ÁßÀÎ ¼ÒÄÏÀÇ Á¤º¸¸¦
¾Ë¼ö ÀÖ´Ù. ÇöÀç ÇÊÀÚ´Â bx ¸¦ ÀÌ¿ëÇØ¼ irc äÆÃÁßÀε¥,
ÀÌ bx °¡ »ç¿ëÇÏ´Â ¼ÒÄÏ Á¤º¸¸¦ ¾Ë¾Æº» °á°ú ´ÙÀ½°ú °°¾Ò´Ù.
[root@localhost /]# ps -aux | grep bx | grep -v grep
yundream 9420 0.0 0.8 3600 2096 pts/2 S Nov12 0:01 bx irc.nuri.net
[root@localhost /]# cd /proc/9420/fd
[root@localhost fd]# ls -al
ÇÕ°è 0
dr-x------ 2 yundream yundream 0 11¿ù 13 00:14 .
dr-xr-xr-x 3 yundream yundream 0 11¿ù 13 00:14 ..
lrwx------ 1 yundream yundream 64 11¿ù 13 00:14 0 -> /dev/pts/2
lrwx------ 1 yundream yundream 64 11¿ù 13 00:14 1 -> /dev/pts/2
lrwx------ 1 yundream yundream 64 11¿ù 13 00:14 2 -> /dev/pts/2
lrwx------ 1 yundream yundream 64 11¿ù 13 00:14 3 -> socket:[10592]
lrwx------ 1 yundream yundream 64 11¿ù 13 00:14 4 -> socket:[10594]
|
±×·³ tcp ÆÄÀÏÀ» ¿¾î¼ ½ÇÁ¦ À§ÀÇ ¼ÒÄÏÁ¤º¸°¡ tcp ÆÄÀÏ¿¡
À¯Áö µÇ°í ÀÖ´ÂÁö È®ÀÎ ÇØº¸ÀÚ.
[root@localhost net]# cat tcp
sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt ...
0: 00000000:1770 00000000:0000 0A 00000000:00000000 00:00000000 00000000 ...
1: 00000000:0016 00000000:0000 0A 00000000:00000000 00:00000000 00000000 ...
2: C3D2CDD2:807B CC2F3ED3:0050 01 00000000:00000000 00:00000000 00000000 ...
3: C3D2CDD2:807D CC2F3ED3:0050 01 00000000:00000000 00:00000000 00000000 ...
4: C3D2CDD2:804D 5070FFCB:1A0B 01 00000000:00000000 02:0004982C 00000000 500 0 10594 2 c1ab9080 30 4 30 2 2
...
|
ÇÊ¿ä¾ø´Â ºÎºÐÀº »ý·«Çß´Ù. 10594 ºÎºÐÀ» ´«¿©°Ü º¸±â ¹Ù¶õ´Ù.
À̺κÐÀÌ Ä¿³Î¿¡¼ ¼ÒÄÏÀ» °¡¸®Å°±â À§Çؼ »ç¿ëÇÏ´Â ¹øÈ£ÀÌ´Ù.
/proc/pid/fd ÀÇ ¼ÒÄÏ ¹øÈ£¿Í ÀÏÄ¡µÇ°í ÀÖÀ½À» ¾Ë¼ö ÀÖ´Ù.
C3D2CDD2 ´Â Áö±Ý ½Ã½ºÅÛÀÇ IP ¹øÈ£ÀÌ´Ù. 804D ´Â »ç¿ëÇϰí ÀÖ´Â
Æ÷Æ®¹øÈ£À̸ç 5070FFCB:1A0B ´Â ¿¬°áµÈ irc ¼¹ö ÀÇ ÁÖ¼Ò:Æ÷Æ®
Á¤º¸ÀÓÀ» ¾Ë¼ö ÀÖ´Ù. 1A08 Àº 6667 ·Î Ç¥ÁØ irc ¼¹ö Æ÷Æ®ÀÌ´Ù.
À̵é Á¤º¸´Â 16Áø¼ö Á¤º¸·Î Ç¥ÇöµÇÁö Áø¼öº¯È¯ÀÌ °¡´ÉÇÑ °è»ê±â¸¦
½á¼ È®ÀÎÇØ º¸±æ ¹Ù¶õ´Ù.
arp ÆÄÀÏÀÇ ³»¿ëÀº arp Å×À̺íÀÇ ³»¿ëÀ» º¸¿©ÁØ´Ù. TCP/IP °³¿ä(2)
¸¦ ´«¿©°Ü º¸¾Ò´Ù¸é ¾îµð¿¡ ¾²´ÂÅ×À̺íÀÎÁö ÀÌÇØ°¡ µÉ°ÍÀÌ´Ù.
¸¸¾à ÇöÀç ½Ã½ºÅÛÀÌ SCSI ¾îµªÅ͸¦ °¡Áö°í ÀÖ´Ù¸é /proc/scsi ¿¡
°¢ ¾îµªÅÍ Á¤º¸¸¦ °¡Áö´Â µð·ºÅ丮°¡ »ý¼ºµÉ °ÍÀÌ´Ù.
/proc/scsi µð·ºÅ丮¿¡´Â scsi ¶õ ÆÄÀÏÀÌ Àִµ¥, ÀÌ ÆÄÀÏÀº
¸ðµç scsi ÀåºñÀÇ ´ë·«ÀûÀÎ Á¤º¸¸¦ º¸¿©ÁØ´Ù.
[root@localhost scsi]# cat scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: IBM Model: DGHS09U Rev: 03E0
Type: Direct-Access ANSI SCSI revision: 03
Host: scsi0 Channel: 00 Id: 06 Lun: 00
Vendor: PIONEER Model: CD-ROM DR-U06S Rev: 1.04
Type: CD-ROM ANSI SCSI revision: 02
|
±×¸®°í °¢ scsi ¾îµªÅÍ À̸§À¸·Î µð·ºÅ丮°¡ »ý¼ºµÇ¾î ÀÖÀ½À»
º¼¼ö ÀÖÀ»°ÍÀÌ´Ù. ÀÌ ÆÄÀϵéÀº ¾îµªÅͰ¡ »ç¿ëÇÏ´Â
ÄÁÆ®·Ñ·¯ÀÇ IRQ, IO ÁÖ¼Ò ¹üÀ§ µîÀÇ Á¤º¸¸¦ Æ÷ÇÔÇϰí ÀÖ´Ù.
¿¹¸¦ µé¾î¼ ¸¸¾à Adaptec AHA-2940 SCSI ¾îµªÅ͸¦ »ç¿ëÇÑ´Ù°í Çϸé
¾Æ¸¶µµ aic7xxx µð·ºÅ丮°¡ »ý¼ºµÇ¾î ÀÖÀ»°ÍÀÌ´Ù. ±×·¯¸é
[root@localhost scsi]# cat aic7xxx/0
Adaptec AIC7xxx driver version: 5.1.19/3.2.4
Compile Options:
TCQ Enabled By Default : Disabled
AIC7XXX_PROC_STATS : Disabled
AIC7XXX_RESET_DELAY : 5
Adapter Configuration:
SCSI Adapter: Adaptec AHA-294X Ultra SCSI host adapter
Ultra Wide Controller
PCI MMAPed I/O Base: 0xeb001000
Adapter SEEPROM Config: SEEPROM found and used.
Adaptec SCSI BIOS: Enabled
IRQ: 10
SCBs: Active 0, Max Active 2,
Allocated 15, HW 16, Page 255
Interrupts: 160328
....
|
°ú °°Àº Á¤º¸¸¦ º¼¼ö ÀÖÀ»°ÍÀÌ´Ù. Á¤º¸ÀÇ ¾çÀÌ ²Ï ¸¹À½À¸·Î
»ý·«Çß´Ù.
¿©±â¿¡´Â Ȱ¼ºÈµÇ¾îÀְųª »ç¿ëÇÒ¼ö ÀÖ´Â tty ÀÇ Á¤º¸µéÀ»
°¡Á®¿Ã¼ö ÀÖ´Ù. ÀÌ µð·ºÅ丮´Â ¸î°³ÀÇ ÆÄÀϰú ¼ºêµð·ºÅ丮¸¦
Æ÷ÇÔÇϰí ÀÖ´Ù. ´ÙÀ½Àº ÀÌµé ÆÄÀϰú ÆÄÀÏÀ» ÅëÇØ¼ ¾òÀ»¼ö
ÀÖ´Â Á¤º¸¸¦ Á¤¸®ÇÑ Å×À̺íÀÌ´Ù.
표 8. /proc/PID ¿¡¼ Á¦°øÇÏ´Â ÇÁ·Î¼¼½º Á¤º¸µé
| ÆÄÀϸí | Á¦°øÁ¤º¸ |
| drivers | µå¶óÀ̹ö¿Í »ç¿ëÇϰí ÀÖ´Â ¸®½ºÆ® |
| ldiscs | registered line disciplines |
| driver/serial | »ç¿ëÅë°è¿Í tty lines ÀÇ Á¤º¸ |
ÀÌ»ó proc ÆÄÀϽýºÅÛÀ» ÀÌ¿ëÇÑ ½Ã½ºÅÛ Á¤º¸ °¡Á®¿À±â¿¡ ´ëÇØ¼
¾Ë¾Æº¸¾Ò´Ù.
¿©±â¿¡ ÀÖ´Â ³»¿ëµéÀº ¿ÏÀüÇÑ ³»¿ëÀ» ´ã°í ÀÖÁö ¾Ê´Ù.
ÇÊÀÚ°¡ ¸ð¸£´Â ¸î¸î »ý¼ÒÇÑ ¿ë¾îµéÀÌ ²ÏÀÖ¾ú°í, ¸î¸îÀº Çϵå¿þ¾î¿¡
°üÇÑ ²Ï »ó¼¼ÇÑ Áö½ÄÀ» °¡Áö°í ÀÖ¾î¾ß Á¦´ë·Î ¼³¸íÀÌ °¡´ÉÇѰ͵éÀÌ ¿´´Âµ¥,
±×·¯ÇÑ °Íµé¿¡ ´ëÇÑ ¼³¸íÀº ºÎÁ·ÇÒ °ÍÀÌ´Ù. ±×¸®°í À§ÀÇ ipv6 °ü·Ã
Á¤º¸¿¡¼ º¸´Ù½ÃÇÇ, Ä¿³ÎÀÇ Á¾·ù¿Í ½Ã½ºÅÛÀÇ Á¾·ù Load µÇ¾î ÀÖ´Â
¸ðµâ¿¡ µû¶ó¼ proc ÆÄÀϽýºÅÛ¿¡¼ Á¦°øÇÏ´Â ÆÄÀÏ ÀÚü°¡
´Þ¶óÁú¼ö ÀÖ´Ù. ±×·³À¸·Î ¸î°¡Áö Á¤º¸°¡ ºüÁ³À»¼öµµ ÀÖ´Ù.
ÀÌ·¯ÇÑ Á¤º¸´Â Á÷Á¢ ¾Ë¾ÆºÁ¾ß ÇÒ°ÍÀÌ´Ù.
ÇÏÁö¸¸ ÀÚÁÖ »ç¿ëµÇ´Â Áß¿äÇÑ ³»¿ëµé¿¡ ´ëÇØ¼´Â ´ëºÎºÐ ´Ù·é°ÍÀ¸·Î
»ý°¢µÈ´Ù. ½Ã½ºÅÛÀ» ºÐ¼®Çϴµ¥ ¸¹Àº µµ¿òÀÌ µÇ¾úÀ¸¸é ÇÑ´Ù.
iowait - time waiting for I/O to complete (since 2.5.41);
irq - time servicing interrupts (since 2.6.0-test4);
softirq - time servicing softirqs (since 2.6.0-test4).
$ cat /proc/stat
cpu 3244756 242977 1005658 57043945 782766 2916 28664 0