top command
현재 리눅스에서 실행중인 프로세스 정보를 보여주는 커맨드.
real-time & dynamic: 실시간, 동적으로 변한다.

의미
- PID: 프로세스 ID
- PR : 프로세스 우선순위, 낮을수록 높다.
- VIRT: 해당 작업으로 사용되는 총 가상메모리
- USER: 해당 작업의 owner
- %CPU: CPU 사용률
- TIME+: CPU time, 10 ms 단위(0.01 sec)
- SHR: 사용하는 shared memory 크기 (KB)
- NI : Nice Value of task. 음수-> 높은 우선순위. 양수 ->낮은 우선순위 값으로 PR을 조작
- %MEM: 해당 작업의 메모리 사용량
- RES: 해당 작업이 사용하는 물리적 RAM 크기. (KB)
- COMMAND : 해당 프로세스를 시작하는 커맨드
NI vs PR
NI 는 PR 에 속한다!
NI: -20 ~19 까지 값 지정.
디폴트 0
동일한 일반 유저 프로세서들 사이에서 우선순위(CPU사용)을 정한다.
PR: priority 값 == NI, rt_priority 등 모든 요소를 고려해서 총산한 값 0-139
리눅스 시스템 전반에서 우선수위를 지정하는 값
두 식의 상관관계
전체 priority 값의 범위는 1~139
리얼타임 프로세스 범위: 1-99 --NI 로 조작 못한다.
일반 프로세스: 100~ 139 -- NI 로 조작 가능
- 일반 프로세스: PR = 20 + NI
0(100) <= PR <= 39(139)
우선순위 높음 --> 우선순위 낮음
- 리얼타임 프로세스: PR = -1 -rt_priority(rt_priority 범위는 1에서 99까지)
-100(1)<=PR <= -2(99)
따라서, PR > 0 : 일반프로세스
PR < 0 혹은 rt: 리얼타임프로세스