리눅스의 부팅과정 2 (/proc)

3. 서비스의 시작, 종료
 /proc 디렉토리
 : 가상적으로 생기는 파티션이 마운트되는 곳으로 mount 명령으로 현재 마운트된 디렉토리들으리 보면 /proc 라는 부분이 존재한다.


[root@systech-dev /root]# mount
/dev/hda1 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hda5 on /home type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/hda2 on /backup type ext3 (rw)

/proc 디렉토리는 실시간 시스템 정보를 가지고 있는 디렉토리들이다.
디렉토리의 내용을 아래와 같다
[root@systech-dev /proc]# ls
1      1533   2      2328   26864  2817   406        bus          meminfo
10     16     201    2351   27051  2843   410        cmdline      misc
10997  1685   20230  2374   27052  2844   411        cpuinfo      modules
10998  1686   204    2387   27053  2849   415        crypto       mounts
10999  1687   205    2416   27054  2854   416        devices      mtrr
11     16905  206    2460   27055  2856   4165       diskstats    net
11001  16906  20944  2474   27056  2857   4178       dma          partitions
11003  16908  20945  24853  27057  2858   424        driver       schedstat
12098  16909  20946  2491   27058  2881   4352       execdomains  scsi
12099  16910  20947  2492   27059  2886   4354       fb           self
12100  16950  21505  2499   27060  2888   4355       filesystems  slabinfo
12128  16970  2176   2506   27061  2889   4357       fs           stat
12129  17     2178   2510   27062  2890   4359       ide          swaps
12167  1752   2186   2512   27063  2891   437        interrupts   sys
127    17728  21989  2514   27064  2897   4443       iomem        sysrq-trigger
128    17729  2208   2516   27065  2907   462        ioports      sysvipc
12843  17730  2211   2518   27066  2944   495        irq          tty
12845  17732  22136  2520   27067  2946   5          kallsyms     uptime
12846  17821  22507  2544   27068  3      6          kcore        version
12848  18113  2252   2569   27069  30281  7          keys         vmcore
12850  18270  2253   2608   27070  32557  8          key-users    vmstat
12930  18272  2289   2631   27071  373    9          kmsg         zoneinfo
131    18274  22933  2640   27072  4      acpi       loadavg
133    18276  2320   2647   2752   404    asound     locks
15     18362  2321   2673   2792   405    buddyinfo  mdstat

위의 파일 중 몇개에 대한 설명은 아래와 같다
cpuinfocpu 에 대한 자세한 정보를 기록
interrupts시스템의 IRQ(interrpt)에 대한 정보를 기록
ioports입출력 포트들에 대한 정보를 기록해서 가지고 있다.
meminfomemory(RAM, Swap)에 대한 정보를 기록해서 가지고 있다.
pciPCI 포트에 대한 정보를 가지고 있따. 각각의 PCI 포트에 PCI 카드가 있다면 해당 정보가 기록된다.

[/proc 디렉토리의 파일들]
디렉토리파일설명
scsi/scsiSCSI 를 사용하는 경우의 정보가 여기에 기록된다.
net/arparp table 의 내용을 담고 있다.
sockstat현재 소켓의 상황을 보여준다.
dev네트웍 장치를 보여준다. 보개고 받은 패킷수나 에러, Collision(충돌)의 수를 보여준다.

[하위 디렉토리에 있는 파일들]
/proc 디렉토리 아래의 숫자로 이루어진 디렉토리들은 해당하는 숫자의 PID로 실행되고 있는 데몬(서비스)에 대한 정보들을 가지고 있는 디렉토리이다.

예를 들어 inetd 데몬에 대한 정보를 보려면,

[root@systech-dev /proc]# ps -aux | grep inetd
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
root     12242  0.0  0.0   3936   700 pts/1    S+   21:22   0:00 grep inetd
root     17821  0.0  0.0   2728   856 ?        Ss   Jan30   0:01 xinetd -stayalive -pidfile /var/run/xinetd.pid

위와 같이 ps 명령으로 확인하였을 때 PID 가 17821 번으로 xinetd 데몬이 실행되고 있음을 알 수 있다. 이 xinetd 데몬에 대한 정보를 보려면 /proc 아래의 /17821 디렉토리로 가면 된다.
[root@systech-dev /proc/17821]# ls
attr  cmdline          cpuset  environ  fd  limits    maps  mounts      oom_adj    root       smaps  statm   task
auxv  coredump_filter  cwd     exe      io  loginuid  mem   mountstats  oom_score  schedstat  stat   status  wchan

아래와 같이 cmdline의 내용을 보면 command line 이 xinetd 이라는 것과 status 를 보면 현재 데몬 상태를 볼 수 있다.

[root@systech-dev /proc/17821]# cat < cmdline
xinetd-stayalive-pidfile/var/run/xinetd.pid


[root@systech-dev /proc/17821]# cat <status
Name:   xinetd
State:  S (sleeping)
SleepAVG:       88%
Tgid:   17821
Pid:    17821
PPid:   1
TracerPid:      0
Uid:    0       0       0       0
Gid:    0       0       0       0
FDSize: 32
Groups: 0 1 2 3 4 6 10
VmPeak:     2768 kB
VmSize:     2728 kB
VmLck:         0 kB
VmHWM:       872 kB
VmRSS:       856 kB
VmData:      368 kB
VmStk:        84 kB
VmExe:       156 kB
VmLib:      2036 kB
VmPTE:        40 kB
StaBrk: 081d2000 kB
Brk:    081f3000 kB
StaStk: bfb6eef0 kB
Threads:        1
SigQ:   1/72704
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000381000
SigCgt: 000000007fc3eeff
CapInh: 0000000000000000
CapPrm: 00000000fffffeff
CapEff: 00000000fffffeff
Cpus_allowed:   00000003
Mems_allowed:   1


댓글 없음:

댓글 쓰기

깔끔 테마. Powered by Blogger.