CPU와 메모리가 열일하고 있는지 확인하기

리눅스 CLI용 모니터링 툴을 비교해보자

테스트 환경

1.
CPU : Intel(R) Core(TM) i5-6600 4core
2.
memory : 32GB

top(Table Of Processes)

왠간한 리눅스 배포판에는 기본으로 있다
시스템 요약 정보 뿐만 아니라 현재 리눅스 커널이 관리하고 있는 프로세스와 쓰레드 목록도 같이 보여주는데 무었을 어떻게 보여줄지는 사용자가 설정 가능하다. 설정을 저장해서 다음에 명령어를 실행할 때도 사용할 수 있다.
하지만 나는 이 명령어를 잘 사용하지 않는다. 못생겼기 때문이다 -.-
일단 top보다 훨씬 예쁘다.
cpu코어별로 bar차트를 제공하므로 부하를 쉽게 확인 가능
ncurses 기반이라 top보다 다양한 기능 제공(가로 혹은 세로로 스크롤하기 등)
프로세스 죽이기, 우선순위 변경하기 등을 바로 수행가능함
적당한 cpu 사용량
(유틸리티의 저자 이름이 Hisham라서 htop이라고…)

atop

모두 다 보여줄게. 하지만 가독성이 떨어짐
거의 모든 시스템 리소스(CPU, memory, disk, network)를 퍼포먼스 관점에서 모니터링
윈도우 가로 사이즈가 어느정도 이상 되어야 함
프로세스별로 디스크 IO 모니터링 가능
cpu코어를 최대한 많이 사용하는 듯. 각 코어별 사용량을 합쳐도 전체 사용량은 적은 편

vtop

nodejs 기반
1.
장점
심플
CPU와 메모리 사용량 추이를 쉽게 알 수 있음
2.
단점
다른 모니터링 툴보다 CPU와 메모리를 가장 많이 사용
nodejs기반이라 프로세스 식별이 힘듬

btop

가장 아름다운 ui
cpu코어를 최대한 많이 사용하는 듯. 각 코어별 사용량을 합치면 전체 사용량은 꽤 된다.
터미널 사이즈가 최소 가로 80, 세로 24가 되어야 띄울 수 있다(최소치 미달일 때 경고가 뜸)
프로세스별 상세보기 지원

glances

python기반
python기반이라 자체 프로세스 식별이 힘듬
파티션별 IO 모니터링
메모리를 상당히 많이 사용(46MB) 하지만 CPU코어는 한 개만 사용하도록 개발한듯
high load 발생 시 경고 출력

총평

어플리케이션 개발자라면 btop을, 시스템 관리자라면 glances를 추천
가장 가벼운 툴 : top
CPU 로드 추이 시각화 : vtop, btop
CPU 코어별 로드 모니터링 : atop, btop, htop(바 차트)
CPU 코어별 온도(그 외 각종 센서들) : btop, glances
디스크 IO : atop(프로세스별로도 가능), glances(파티션 별), btop(프로세스별)
네트워크 IO : btop(추이 보기), glances
프로세스별 상세 보기 : btop