
/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 | 커널 버전 정보를 기록 |
'Linux' 카테고리의 다른 글
| [Linux] 소프트웨어 설치 및 관리 - yum (1) | 2025.08.26 |
|---|---|
| [Linux] 프로세스 관련 명령어 - ps (2) | 2025.08.25 |
| [Linux] cron / crontab (2) | 2025.08.17 |
| [Linux] 프로세스 관리 명령어 - nice / renice (1) | 2025.08.12 |
| [Linux] 디렉터리 생성 - mkdir (1) | 2025.08.07 |