노무현 대통령 배너


2006. 3. 22. 13:19

[본문스크랩] PROC 파일시스템 개관


PROC 파일시스템 개관

번역 : 고현아 / hanbi@linuxlab.co.kr

    UN*X 부류의 시스템에서 흥미있는 부분은 /proc 파일시스템이다. 이 가상 파일시스템은 흥미있고 유용한 몇가지 특징을 갖고 있다. 이는 또한 위험하고 재앙을 줄 수도 있다. 여기서는 /proc 파일시스템을 세 분야에서 다룬다.

    ·개략적인 설명
    ·/proc가 어떻게 사용될 수 있는가.(또는 사용되서는 안되는가)
    ·i686 시스템에서 커널 2.2의 /proc 구조

1. /proc란?

    /proc 파일시스템은 메모리에 있는 시스템의 직접적인 반영이며 계층 형태로 표현된다. /proc 파일시스템은 커널과 현재 수행되는 프로세스에 대한 정보를 쉽게 얻는 것이 목적이다.

    결과로 몇몇 명령은 (예를 들어 ps) 시스템 상태에 관한 정보를 얻기 위해 직접 /proc를 읽는다. /proc 의 배경은 그러한 정보를 이해하기 어려운 시스템 콜을 부르는 것 대신에 읽기 쉬운 형태로 제공하는 것이다.

2. /proc가 관리자에게 할수 있는 일은 ?

    /proc 파일시스템은 아래와 같은 시스템 관련 일을 할 수 있다.

    통계적 정보를 보는 것
    하드웨어 정보 알아내기
    런타임 파라메터 수정하기
    네트워크와 호스트 파라메터 보기 및 수정
    메모리와 수행능력에 관한 정보

    주의할 점이 있다. 이러한 임무는 /proc를 참조해서 또는 커널을 직접 추적해 이루어 질 수 있다.

    다른 커널 = 다른 능력
    (Different Kernels = Different Capabilities)

    다른 커널은 /proc에서 다른 정보를 낸다. 일부 또는 전부 또는 완전히 다른 배열이 당신의 커널 구현에 따라 나올 수 있다.

    ▶ 필수 경고

    /proc 로서 무었을 할 수 있고 없고가 나타난 문서가 없으므로 가장 좋은 방법은 핵커의 방법이다. 즉 커널을 백업하고 /proc 파일시스템을 변경할 때는 상식에 입각해 실행하라. /proc를 통해 어플리케이션을 튜닝하는 주요한 예는 Kegel’s Web Hostel에 C10k 문제 문서에 있다.

3. /proc 구조

    아래는 i686 시스템의 리눅스 2.2 커널에서 /proc에서의 파일과 디렉토리를 설명하는 간단한 표이다.

    loadavg
    지난 1,5,15 분간의 평균 시스템 부하
    uptime
    부트 이래로 총 가동 시간(초) 과 프로세스에
    의해 사용된 총 시간
    meminfo
    메모리와 스왑의 사용 및 프리 바이트
    kmsg
    커널에 의해 읽혀질 커널 메시지
    version
    커널 또는/그리고 배포본의 버전
    cpuinfo
    프로세서(CPU) 파라메터
    pci
    현재의 PCI 슬롯 사용 정보
    self/
    현재 /proc를 억세스하고 있는 프로세스 정보
    net/
    네트워크 계층 설명
    scsi/
    개개의 scsi 장치에 관한 정보를 갖는 파일들이
    위치함.
    malloc
    kmalloc 과 kfree 운영 정보 모니터링
    kcore
    커널 코어 덤프
    modules
    단일 적재 모듈에 관한 정보
    stat
    일반 리눅스 통계
    devices
    커널에 등록된 시스템 장치에 관한 정보
    interrupts
    인터럽트 할당 정보
    filesystems
    현재의 파일시스템 구현
    ksyms
    커널에의해 익스포트된 심볼
    dma
    사용중인 DMA 채널
    ioports
    현재 사용중인 입출력 포트
    smp
    SMP가 활성화 돼 있을 경우 각 CPU 정보
    cmdline
    부트시에 커널에 넘겨진 파라메터
    sys/
    중요한 커널과 네트워크 정보
    mtab
    현재 마운트된 파일 시스템
    md
    다중 디바이스 드라이버 정보
    (활성화 되었을 경우)
    rc
    확장 리얼타임 클럭
    locks
    현재 락(locked)된 파일
    Numbered Directories
    숫자로 된 디렉터리는 그 PID의 실행 프로세서 정보이다.

    다시 한번 /proc의 기능 및 그 내용들은 버전마다 다르다는 것을 명심하라.

    역자 주]
    /proc의 내용을 보려면 cat 명령을 사용한다. 예를 들어 현재 사용중인 인터럽트를 보면 아래와 같다.

    [root]/proc$ cat interrupts

    CPU0
    0:36935631XT-PIC timer
    1:2XT-PIC keyboard
    2:0XT-PIC cascade
    3:1XT-PIC serial
    10:56316 XT-PIC eth0
    11:10XT-PIC aha1542
    13:0XT-PIC fpu
    14:382232XT-PIC ide0
    NMI:0

4. 추가 정보

    아래는 보다 상세한 정보를 갖고 있는 리스트이다.

    The /proc File System
    The C10k problem

    Copyright (c) 1999, Jay Fink
    Published in Issue 46 of Linux Gazette, October 1999

<div class="post_footer_conte