/proc 디렉토리는 가상 파일 시스템으로  /dev와 마찬가지로 하드 디스크상에 물리적인 용량을 갖지 않는다.

 

/proc 파일 시스템은 리눅스의 커널과 사용자 영역 사이에 일어나는 통신 채널로 사용 할 수 있는 가상 파일 시스템  이다.

 

또한, 현재 시스템의 하드웨어(CPU, RAM, 파일 시스템, 인터럽트, 파티션) 정보와 현재 실행 되고 있는 프로세스의 정보를 확인 할 수 있다. 또한, 커널이 실행되면서 생성된 각종 정보들 또한 /proc 에 파일로 관리 하고 있다.

 

커널이 실행되면서 작성된 각종 정보들을 역시 파일로 관리하고 있다.

 

이번에는 /proc 안에 있는 디렉토리 및 파일들을 살펴보고 그 디렉토리가 어떤 의미를 가지는지를 알아 보자.

<숫자> : 이 디렉토리는 현재 실행 되고 있는 프로세스 ID 이며 각 디렉토리에는 프로세스에서 사용하는 정보들이 파일 및 디렉토리로 저장 되어 있다.

 
/proc/acpi  :  파워 매니지 먼트와 관련된 정보가 들어 있는 디렉토리
/proc/buddyinfo : 버디 할당자에 대한 정보를 포함
/proc/bus : bus를 사용하는 디바이스들과 관련된 정보 디렉토리 ( PCI, USB 등 )
/proc/cmdline : 부팅시 사용된 커널 실행옵션 정보 파일
/proc/cpuinfo : 상세한 프로세서의 정보가 저장되어 있는 파일
/proc/crypto : 커널에 설정된 암호화 관련 정보가 들어 있는 파일
/proc/devices : 현재 시스템에서 사용가능한 디바이스 들에 대한 정보 (Char 및 Block 장치), 디바이스 주번호 및 이름이 있다.
/proc/diskstats : 각각의 논리적 디스크 디바이스에 대한 정보를 제공 한다. 
/proc/dma  : 현재 시스템에서 사용 하고 있는 DMS 채널
/proc/driver  : 현재 시스템의 드라이버 관련 정보
/proc/filesystem : 현재 시스템에서 지원하는 파일 시스템에 대한 정보
/proc/ide : IDE 장치에 대한 정보 디렉토리
/proc/interrupts : 현재 사용중인 인터럽트와 인터럽트의 사용량에 대한 정보
/proc/iomem : 현재 사용중인 메모리 맵에 대한 정보
/proc/ioports : 현재 사용중인 입출력 포트에 대한 정보
/proc/kcore : 커널 core 이미지
/proc/kmsg :커널에 의해서 출력되는 커널 메시지
/proc/ksyms : 커널의 심볼 테이블
/proc/loadavg  : 시스템의 최근 1,5,15 분의 시스템의 평균 부하량(Load Average)에 대한 정보
/proc/locks : flock 및 fcntl 들에 의한 현재 lock 파일에 대한 정보
/proc/meminfo : 현재 사용중인 메모리의 사용량
/proc/misc : misc 관련 드라이버에 대한 정보
/proc/modules : 현재 모듈로 로딩된 모듈 목록, lsmod 했을때 나오는 정보
/proc/mounts :마운트된 파일시스템에 대한 정보
/proc/mtrr : 메모리 타입 레인지 레지스터의  정보
/proc/net : 네트웍과 관련된 다양한 통계 정보들을 담고 있는 디렉토리
/proc/partitions : 현재 시스템의 파티션 정보
/proc/pci :PCI 버스와 관련된 정보
/proc/slabinfo :  Slab 관점에서 메모리 사용에 대한 정보
/proc/stat : CPU, 인터럽트, 컨텍스트 스위치 등 일반적인 시스템 통계 정보
/proc/swaps : swap 파일시스템 사용 정보
/proc/sysvipc : SysVIPC 자원정보(메시지큐, 세마포어, 공유메모리)의 정보가 들어 있는 디렉토리
/proc/tty : tty 드라이버 정보가 들어 있는 디렉토리
/proc/uptime : 부팅 이후 부터 시스템이 운영된 시간  ( 초단위 )
/proc/version : 상세한 커널 버젼 및 커널 컴파일시의 정보