(1) 커널 모델 프로그래밍 : 커널 모듈과 같은 커널과 밀접하게 관계 있는 프로그램에서 유용
(2) 임베디드 프로그래밍 : 파일시스템을 구동하지 못하는 임베디드 시스템은 Proc File System을 통해 관리자 환경 혹은 데이터 입출력 환경 구축 가능
(1) CPU
(2) Memory
(3) Disk
(4) Network
(5) NFS Mount
[eth0, eth1] : 유선 네트워크 인터페이스 (랜카드)
[lo] : 루프 백 인터페이스로 자기자신과 통신하는데 사용하는 가상 장치.
[HWaddr] : 네트워크 인터페이스의 하드웨어 주소(MAC Address)
[inetaddr] : 네트워크 인터페이스에 할당된 IP 주소
[Bcast] : 브로드캐스트 주소
[Mask] : 넷마스크
[MTU] : 네트워크 최대 전송 단위(Maxium Transfer Unit)
[RX packets] : 받은 패킷 정보
[TX packets] : 보낸 패킷 정보
[collision] : 충돌된 패킷 수
[Interrupt] : 네트워크 인터페이스가 사용하는 인터럽트 번호
% Cpu(s)
-각 항목의 값이 높다면 그 항목에서 사용되고 있는 시간이 오래 걸린다고 판단 가능함.
[us] : 사용자가 사용중인 사용률
[sy] : 시스템이 사용중인 사용률 (sy 값이 높다면 시스템에 의해 사용되고 있는 시간이 오래 걸린다고 판단 가능)
[ni] : 프로세스 우선순위를 기반으로 사용되는 사용률(사용자 공간에서 사용)
[id] : 아무 일도 하지 않는 여유률
[wa] : 입출력을 기다리는 프로세스 사용률
[hi] : 하드웨어 인터럽트 사용률
[si] : 소프트웨어 인터럽트 사용률
[st] : 가상화 환경에서 손실률
PROCESS
[PID] : 프로세스 ID
[USER] : 프로세스를 실행시킨 사용자 ID
[PR] : 프로세스의 우선순위
[NI] : NICE 값, 마이너스를 가지는 값이 우선순위가 높음
[VIRT] : 가상 메모리의 사용량(SWAP+RES)
[RES] : 현재 페이지가 상주하고 있는 크기
[SHR] : 가상 메모리 중 사용중인 메모리를 제외한 잔여 가상 메모리
[S] : 프로세스의 상태
[%CPU] : 프로세스가 사용하는 CPU의 사용률
[%MEM] : 프로세스가 사용하는 메모리의 사용률
[TIME+] : 프로세스가 CPU를 사용한 시간
[COMMAND] : 실행된 명령어
[MEM] : 실제 메모리
[Swap] : 일종의 가상 메모리
[Buffers] : 일부 프로세스에 의해 발생한 임시 메모리
[Cached] : 기존에 실행된 프로그램들이 사용했던 메모리로 실행 중이거나 새로 시작될 프로그램들이 필요할 때 빠르게 재 사용할 수 있는 메모리 영역
procs
[r] : CPU에서 대기중인 프로세스의 수를 의미.
[b] : 인터럽트가 불가능한 sleep 상태에 있는 프로세스의 수 (I/O 처리를 하는 동안 블록 처리된 프로세스)
Swap(KB/s)
[si(swap in)] : 디스크 swap 공간에 있는 데이터를 메모리로 호출하는 양
[so(swap out)] : 메모리에서 디스크로 보내는 데이터의 양
Device
[tps] : 디바이스에 초당 전송 요청 건수
[kB_read/s] : 디바이스에서 초당 읽은 데이터 블록 단위
[kB_wrtn/s] : 디바이스에서 초당 쓴 데이터 블록 단위
[kB_read] : 디바이스에서 지정한 간격 동안 읽은 블록 수
[kB_wrtn] : 디바이스에서 지정한 간격 동안 쓴 전체 블록 수
참고
https://web.mit.edu/rhel-doc/5/RHEL-5-manual/Deployment_Guide-en-US/ch-nfs.html
https://www.kernel.org/doc/html/latest/filesystems/proc.html
https://www.whatap.io/ko/blog/10/