Linux

[Linux] 프로세스와 /proc 디렉터리

thdwldud 2025. 8. 19. 09:05

/proc의 개요

  • /proc는 일종의 가상파일 시스템으로 시스템에 동작중인 프로세스의 상태정보와 기타 시스템 및 하드웨어 정보를 확인할 수 있음
  • 이 디렉터리는 프로세스와 커널의 내부적인 정보 제공을 위해 만들어진 영역
  • 사용자가 ps명령어를 사용해 프로세스에 대한 정보를 확인할 때 이 디렉터리에 저장된 정보를 출력
  • 보통 새로운 프로세스가 생성되면 /proc 디렉터리 안에 PID와 동일한 하위 디렉터리가 생성되고 그 안에 해당 프로세스에 관한 정보가 저장됨
  • 관련 프로세스가 종료되면 PID로 된 디렉터리는 사라짐

/proc/PID의 구조

  • 프로세스 생성시에 PID가 1222가 할당되었다면, 모든 정보는 /proc/1222 디렉터리 안에 기록되고 이 디렉터리에 존재하는 해당 주요 구성 요소로는 다음과 같음

옵션

구성 요소 설명
cmdline 명령행 옵션 정보가 들어있음
cwd 작업 디렉터리를 가리킴
environ 프로세스의 환경에 대한 정보를 담고 있음
exe 해당 프로세스를 실행시킨 명령어를 가리킴
fd 파일 지정자(file descriptor)에 대한 정보를 담고있는 디렉터리
maps 실행 명령과 라이브러리 파일의 메모리 맵 정보를 담고 있음
mounts 시스템의 마운트 정보를 담고 있음
root 해당 프로세스의 루트 디렉터리를 가리킴
stat 해당 프로세스의 상태를 나타냄. 보통 ps 명령에 의해 사용됨
statm 프로세스의 메모리 상태에 대한 정보를 담고 있음
size(프로그램의 총 크기), resident(할당된 메모리의 크기), shared(공유된 페이지 수), trs(text의 페이지 수), drs(data/stack 페이지 수), lrs(library 페이지수), dt(dirty 페이지 수)를 나타냄
status 프로세스의 상태 정보를 담고 있는 파일로 사람이 보기 쉬운 형태로 되어 있음

 

/proc 디렉터리의 주요 정보 파일 및 디렉터리

파일 또는 디렉터리 설명
acpi 전원 관련 정보를 담고있는 디렉터리
bus pci와 같은 bus 정보를 담고 있는 디렉터리
cmdline 부팅 시에 실행되는 커널 관련 옵션에 대한 정보를 담고 있음
cpuinfo CPU에 관한 정보를 담고 있음
devices 현재 커널에 설정된 디바이스 드라이버의 리스트 정보를 담고 있음
dma 시스템에서 사용 중인 DMA 정보를 담고 있음
filesystems 커널에 설정된 파일 시스템의 리스트 정보를 담고 있음
interrupts 시스템에서 사용 중인 인터럽트(IRQ) 정보를 담고 있음
iomem 메모리 번지별로 할당된 리스트 정보를 담고 있음
ioports 시스템에서 사용 중인 I/O 주소를 담고 있음
kallsyms 커널에 의해 공개된 심볼 정보를 담고 있음. 모듈이 참조할 수 있는 커널 내부의 함수나 변수의 심볼 정보를 가지고 있음
kcore 시스템에 장착된 물리적 메모리의 이미지로 실제 하드 디스크의 용량을 차지하지는 않음 이 파일은 프로그램 실행 시 비정상 종료나 프로그램의 디버깅할 때에 유용하게 쓰임
kmsg 커널이 동작 중에 중요한 이벤트가 생기면 출력되는 메시지 정보를 담고 있음
loadavg 최근 1분, 5분, 15분 동안의 평균 부하율을 기록하는 파일
locks flock() 및 fcntl() 등에 의한 현재 lock 파일에 대한 정보를 담고 있는 파일
mdstat RAID 사용시에 관련 정보를 기록
meminfo 물리적 메모리 및 스왑 메모리 정보가 들어있는 파일
misc 기타 장치에 대한 정보가 들어있는 파일
mounts 시스템에 마운트된 정보가 기록되어 있는 파일
net Network 관련 정보가 기록되어 있는 파일
partitions 현재 활성화된 파티션 정보를 기록하고 있는 파일
scsi SCSI 관련 정보를 기록한 파일이 들어있는 디렉터리
self /proc 디렉터리를 이용하고 있는 프로세스에 대한 정보를 담고 있는 디렉터리
stat 커널과 시스템 상태 정보를 담고 있는 파일
swaps 스왑 파티션 관련 정보를 기록
sys 커널과 관련된 정보를 담고 있는 디렉터리로 sysctl 명령으로 제어
sysvipc SysV IPC 자원 정보인 Messages Queues, Semaphores, Shared Memory 관련 파일을 정보 파일이 들어있는 디렉터리
uptime 시스템 가동 시간에 대한 정보를 기록. uptime 명령어가 참조하는 파일
version 커널 버전 정보를 기록