본문 바로가기
리눅스/Part3. Ch02. 프로세스 관리

03. proc 파일시스템의 이해

by Engineer-Lee 2022. 7. 17.
반응형

ps, top ,vmstat등의 리눅스 도구들은 커널 정보를 proc 파일 시스템을 이용해서 가져온다.

 

proc 파일 시스템

  • 커널이 시스템 상태와 관련한 다양한 정보를 노출 시키는 pseudo 파일시스템
    -> 실제 파일이 존재하지 않음. 파일 사이즈 0
    -> 파일을 읽을 때 실시간으로 내용이 생성됨

  • 운영체제가 유지하는 각종 정보를 커널 모드가 아닌 유저모드에서 쉽게 접근할 수 있도록 제공
    -> 일반 파일처럼 접근 가능

  • 프로세스 정보 외에도 커널이 관리하는 다양한 상태 정보와 통계값을 제공

  • 대부분 proc 파일시스템에서 직접 데이터를 읽기보다는 ps, top, vmstat 등 다양한 명령을 사용
    -> 잘 알려지지 않은 정보가 필요한 경우 proc정보를 직접 읽어내야 함

 

 

Proc 파일시스템 내용

  • 프로세스와 관련된 정보
    /proc/PID/cmdline : 프로세스가 실행하고 있는 명령이나 프로그램
    /proc/PID/environ : 프로세스의 환경변수
    /proc/PID/fd : 오픈된 파일 디스크립터
    /proc/PID/exe : 현재 실행중인 파일에 대한 심볼릭 링크
    /proc/PID/stat : 전반적인 프로세스 상태 정보 <- 사람이 읽기에는 ps
    /proc/self 자신의 /proc/PID로 이동

  • 프로세스와 관계 없는 시스템 정보
    /proc/cpuinfo : 프로세서 정보 (벤더와 스피드, 캐시 크기, 코어 등)
    /proc/meminfo : 메모리 관리 정보
    /proc/diskstats : 논리 디스크 장치들 정보
    /proc/net : 네트워크 스택과 관련된 주요 정보
    /proc/version : 커널의 버전 정보
    /proc/uptime : 부트 이후 경과된 시간 정보
    /proc/cmdline : 커널에 넘겨지는 부트 옵션
    /proc/kmsg : 커널이 출력하는 메시지
반응형