/proc은 「가상 파일시스템」입니다.
디스크에 실제 파일은 없고, 「커널이 그때그때 만들어 보여주는」 정보.
시스템·프로세스 상태를 「파일처럼」 읽어 다양한 도구가 활용합니다.
프로세스 정보.
/proc/PID 폴더에 각 프로세스의 모든 정보.
/proc/1234/cmdline — 실행 명령.
/proc/1234/status — 상태(메모리·우선순위 등).
/proc/1234/fd — 열린 파일 디스크립터들.
/proc/1234/maps — 메모리 매핑.
시스템 정보.
/proc/cpuinfo — CPU 모델·코어 수·클럭.
/proc/meminfo — 메모리 사용량.
/proc/loadavg — 시스템 부하.
/proc/uptime — 가동 시간.
/proc/version — 커널 버전.
cat 명령 하나로 무엇이든 확인.
도구의 원천.
top·ps·free·uname 같은 명령은 모두 /proc을 읽어 보여주는 것.
즉 같은 정보를 cat으로 직접 볼 수 있음.
어떤 정보가 어디 있는지 알면 자체 모니터링 도구도 쉽게 작성.
쓰기도 가능.
일부 파일은 echo로 쓸 수 있음 — 커널 동작 변경.
echo 1 > /proc/sys/net/ipv4/ip_forward로 IP 포워딩 활성화.
단 /proc/sys 안의 설정은 sysctl 명령으로 표준화된 방법으로 변경하는 게 권장.
옛 방식은 /proc, 모던은 /sys.
한 줄 요약
/proc은 가상 파일시스템 — 커널이 보여주는 시스템·프로세스 정보.
/proc/PID로 프로세스, /proc/cpuinfo·meminfo·loadavg로 시스템.
top·ps·free의 원천.
일부는 쓰기로 커널 설정 변경.
더 알아볼 것
- /proc/PID/maps — 메모리 매핑
- sysctl로 커널 파라미터
- gprocfs — Mac에서 비슷한 시도