procfs
시스템에 존재하는 프로세스에 대한 정보를 얻기위한 파일시스템
ps, top, free 등 OS가 제공하는 각종 정보를 표시하는 명령어는 procfs로부터 정보를 얻음
/proc
이하에 마운트
/proc/cpuinfo
: 시스템에 탑재한 CPU에 대한 정보
/proc/sys/...
: 커널의 각종 튜닝 피라미터. systctl과 /etc/sysctl.conf로 변경하는 파라미터와 1:1 대응 ???
# mac에는 proc 커맨드 ㄴㄴ
❯ sysctl -a | grep machdep.cpu
machdep.cpu.brand_string: Apple M1
machdep.cpu.core_count: 8
machdep.cpu.cores_per_package: 8
machdep.cpu.logical_per_package: 8
machdep.cpu.thread_count: 8
/proc/pid
이하의 파일에 접근함으로써 각 프로세스 정보를 얻을 수 있음
/proc/pid/cmdline
: 프로세스 명령어 라인 파라미터/proc/pid/stat
: 프로세스 상태. 지금까지 사용한 cpu 시간, 사용 메모리 등sysfs
procfs에 커널의 프로세스 정보 외에 잡다한 정보가 들어가 이를 막기위해 생김
sysfs에는 예를 들어 아래와 같은 파일이 존재
/sys/devices
이하의 파일: 시스템에 탑재된 디바이스에 대한 정보/sys/fs
이하의 파일: 시스템에 존재하는 각종 파일시스템에 대한 정보cgroupfs
하나 이상의 프로세스로 만들어진 그룹에 대해 여러가지 리소스 사용량의 제한을 가하는 cgroup
이라는 기능이 있음
cgroup
은 croupfs
라는 파일시스템을 통해 다루게 됨cgroup
은 root만 다룰 수 있음cgroupfs
는 일반적으로 /sys/fs/cgroup
이하에 마운트 됨