/proc는 가상 파일 시스템으로 메모리에 있는 시스템의 직접적인 반영이며 계층 형태로 표현됩니다.
즉 커널과 현재 수행되는 프로세스에 대한 정보를 쉽게 얻기 위해 존재하는 곳입니다.
ps로 시스템 상태에 관한 정보를 얻기 위해 /proc를 읽어 들이기도 합니다.
이곳에서 아래와 같은 일을 수행할수 있습니다..
- 통계적 정보를 보는 것
- 하드웨어 정보 알아내기
- 런타임 파라메터 수정하기
- 네트워크와 호스트 파라메터 보기 및 수정
- 메모리와 수행능력에 관한 정보
/proc의 구조(해당 파일및 디렉토리 설명)
loadavg : 지난 1,5,15 분간의 평균 시스템 부하
uptime : 부트 이래로 총 가동 시간(초) 과 프로세스에 의해 사용된 총 시간
meminfo : 메모리와 스왑의 사용 및 프리 바이트
kmsg : 커널에 의해 읽혀질 커널 메시지
version : 커널 또는/그리고 배포본의 버전
cpuinfo : 프로세서(CPU) 파라메터
pci : 현재의 PCI 슬롯 사용 정보
self/ : 현재 /proc를 억세스하고 있는 프로세스 정보
net/ : 네트워크 계층 설명
scsi/ : 개개의 scsi 장치에 관한 정보를 갖는 파일들이 위치함.
malloc : kmalloc 과 kfree 운영 정보 모니터링
kcore : 커널 코어 덤프
modules : 단일 적재 모듈에 관한 정보
stat : 일반 리눅스 통계
devices : 커널에 등록된 시스템 장치에 관한 정보
interrupts : 인터럽트 할당 정보
filesystems : 현재의 파일시스템 구현
ksyms : 커널에의해 익스포트된 심볼
dma : 사용중인 DMA 채널
ioports : 현재 사용중인 입출력 포트
smp : SMP가 활성화 돼 있을 경우 각 CPU 정보
cmdline : 부트시에 커널에 넘겨진 파라메터
sys/ : 중요한 커널과 네트워크 정보
mtab : 현재 마운트된 파일 시스템
md : 다중 디바이스 드라이버 정보(활성화 되었을 경우)
rc : 확장 리얼타임 클럭
locks : 현재 락(locked)된 파일
Numbered Directories : 숫자로 된 디렉터리는 그 PID의 실행 프로세서 정보이다.
해당 정보를 보고자 한다면(파일일 경우)
[root@dream root]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel(R) Pentium(R) 4 CPU 2.40GHz
stepping : 7
cpu MHz : 2411.691
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm
bogomips : 4784.26
이처럼 자세한 정보를 볼수 있습니다.
이곳 파일들의 크기는 0으로 나타나는데.. 이는 신경쓰지 않으셔도 됩니다.
/proc 파일들은 수정을 하지 않는 것이 좋습니다.
그리고 /proc의 기능 및 그 내용들은 버전마다 다르다니 주의하기 바랍니다.
즉 커널과 현재 수행되는 프로세스에 대한 정보를 쉽게 얻기 위해 존재하는 곳입니다.
ps로 시스템 상태에 관한 정보를 얻기 위해 /proc를 읽어 들이기도 합니다.
이곳에서 아래와 같은 일을 수행할수 있습니다..
- 통계적 정보를 보는 것
- 하드웨어 정보 알아내기
- 런타임 파라메터 수정하기
- 네트워크와 호스트 파라메터 보기 및 수정
- 메모리와 수행능력에 관한 정보
/proc의 구조(해당 파일및 디렉토리 설명)
loadavg : 지난 1,5,15 분간의 평균 시스템 부하
uptime : 부트 이래로 총 가동 시간(초) 과 프로세스에 의해 사용된 총 시간
meminfo : 메모리와 스왑의 사용 및 프리 바이트
kmsg : 커널에 의해 읽혀질 커널 메시지
version : 커널 또는/그리고 배포본의 버전
cpuinfo : 프로세서(CPU) 파라메터
pci : 현재의 PCI 슬롯 사용 정보
self/ : 현재 /proc를 억세스하고 있는 프로세스 정보
net/ : 네트워크 계층 설명
scsi/ : 개개의 scsi 장치에 관한 정보를 갖는 파일들이 위치함.
malloc : kmalloc 과 kfree 운영 정보 모니터링
kcore : 커널 코어 덤프
modules : 단일 적재 모듈에 관한 정보
stat : 일반 리눅스 통계
devices : 커널에 등록된 시스템 장치에 관한 정보
interrupts : 인터럽트 할당 정보
filesystems : 현재의 파일시스템 구현
ksyms : 커널에의해 익스포트된 심볼
dma : 사용중인 DMA 채널
ioports : 현재 사용중인 입출력 포트
smp : SMP가 활성화 돼 있을 경우 각 CPU 정보
cmdline : 부트시에 커널에 넘겨진 파라메터
sys/ : 중요한 커널과 네트워크 정보
mtab : 현재 마운트된 파일 시스템
md : 다중 디바이스 드라이버 정보(활성화 되었을 경우)
rc : 확장 리얼타임 클럭
locks : 현재 락(locked)된 파일
Numbered Directories : 숫자로 된 디렉터리는 그 PID의 실행 프로세서 정보이다.
해당 정보를 보고자 한다면(파일일 경우)
[root@dream root]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel(R) Pentium(R) 4 CPU 2.40GHz
stepping : 7
cpu MHz : 2411.691
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm
bogomips : 4784.26
이처럼 자세한 정보를 볼수 있습니다.
이곳 파일들의 크기는 0으로 나타나는데.. 이는 신경쓰지 않으셔도 됩니다.
/proc 파일들은 수정을 하지 않는 것이 좋습니다.
그리고 /proc의 기능 및 그 내용들은 버전마다 다르다니 주의하기 바랍니다.