반응형
현재 인턴십중인 회사에서 받은 과제로 모니터링에 사용되는 top 명령어의 필드, 항목을 자세히 분석해보도록 하자
멘토분께서는 top의 항목을 잘 모르는 엔지니어가 많다고 하셨다.
목차
- top 명령어란?
- 항목별 의미
- 나의생각
1. top(table of process) 명령어란?
실시간으로 리눅스 프로세스를 보여주는 명령어
리눅스커널에 의해 관리되는 프로세스나 쓰레드의 리스트나 시스템정보를 보여준다.
2. 항목 별 의미
이제 top 명령어의 각 항목 별 의미를 알아보자
top – 현재시간 | 서버가동시간 | 유저 세션 수 | cpu 로드 에버리지(1분, 5분, 15분)
테스크의 수 | 가동중인 테스크 | sleep 중인 테스크 | 중지된 테스크 | 좀비프로세스
- us : 유저영역에서 사용되는 CPU 비율
- sy : 시스템영역에서 사용되는 CPU 비율
- ni : 프로세스 우선순위 설정에 사용되는 CPU 비율 (기본값, 그보다 낮은 우선순위로 유저영역에서 실행)
- id : 사용하지 않는 CPU 비율
- wa : I/O 대기 상태의 CPU 비율
- CPU가 I/O를 기다리는 비율인데 이 값이 1/(cpucore count) * 100 을 넘어간다면 병목을 의심할 수 있다
- hi : 하드웨어 인터럽트에 사용한 CPU 비율
- si : softirq를 처리하는데 사용한 CPU 비율
- st : Hypervisor VM 에서 사용하여 대기하는 CPU 비율
유저영역에서 사용되는 CPU 비율 = us + ni
시스템영역에서 사용되는 CPU 비율 = sy + hi + si
- PID : Process ID
- USER : 프로세스의 소유권을 가진 사용자
- PR : 우선 순위 값
- NI : nice 값 (-20 ~ 19)
- VIRT : 가상메모리 할당 크기(KiB)
- RES : 실제 물리 메모리 할당 크기(KiB)
- SHR : 공유하고 있는 실제 물리 메모리 크기(KiB)
- S : 프로세스의 상태
- R : Running
- S : Sleeping
- I : Idle
- D : Uninterruptable Sleep
- T : 작업 제어 신호에 의해 중지됨
- t : Trace 중 디버거에 의해 중지됨
- Z : Zombie
- %CPU : 프로세스가 사용하고 있는 CPU 비율
- %MEM : 프로세스가 사용하고 있는 메모리 비율
- TIME+ : Total CPU TIME ( 소숫점 둘째자리 까지 )
- COMMAND : TASK를 시작하게 한 명령어
f 옵션을 통해 더 많은 항목을 추가 할 수 있다.
3. 나의 생각
나는 top 명령어가 프로세스가 cpu나 메모리를 얼마나 사용하는지 확인 할 수 있는 도구로만 알고 있었는데 직접 각 항목이 무엇을 의미하는지 하나하나 캐보니 많은 정보를 보여주고 있다는 것을 느꼈다.
항목을 분석하면서 모르는 부분을 더 찾아봐야겠다.
특히 %Cpus 부분에 hi,si,st 가 잘 이해가 안됐었는데 인터럽트 부분을 좀 더 공부 해봐야겠다.
공부할것 : 병목현상, DB구조, 인터럽트 핸들링.
그리고 실무에서 top가 어떻게 사용되는지 실제사례를 한번 알아 봐야겠다.(자주 사용되는 필드)
반응형
'OS > Linux' 카테고리의 다른 글
[Linux] SW RAID(Redundant Array of Independent Disks) (0) | 2025.06.19 |
---|---|
[Linux] Booting Process (0) | 2025.03.03 |
[인프라 엔지니어 관점] D-Bus(Desktop bus) 란? (1) | 2025.02.13 |