-
[Linux]사용자 위주의 모니터링 도구 htopprogramming/Linux 2021. 11. 12. 23:56
Htop이란 작업 관리자와 비슷한 개념으로 리눅스에서 시스템 사용량 즉 CPU 사용량, 메모리 사용량 등을 비주얼적으로 모니터링할 수 있는 프로그램입니다.
리눅스에는 이러한 시스템 자원 상황을 모니터링하는 프로그램에는 Top, Htop, Atop, Nmom, Glances, Saider 등이 있는데요.
Hisham Muhammad가 2004년에 개발했는데 아직까지도 많이 사용되고 있는 프로그램입니다.
저도 디테일한 모니터링을 하고 싶을때는 Top보다 Htop을 주로 사용하고는 합니다.
설치방법
- sudo apt-get install htop
- brew install htop ## mac 도 homebrew에서 다운할 수 있습니다
특징
- htop 화면을 살펴보면 왼쪽 상단에 CPU, swap메모리,메모리 사용률이 표현되어 있으며, 하단에는 모니터링되고 있는 프로세스가 보이며 1초에 한 번씩 갱신됩니다
- 선택된 프로세스를 죽이거나, 우선순위를 변경할 수 있습니다.특정 프로세스 이름으로 검색, 필터링하여 현황을 볼 수 있습니다.
- pstree와 top을 함께 보는 기능이 있습니다.
- cpu의 코어 갯수를 확인해서 각 프로세스의 정보를 top보다 더 디테일하게 모니터링이 가능합니다.
시스템 전체 CPU 사용률
최상단 왼쪽에 CPU/코어별 사용률이 보이는데 게이지바의 색깔이 의미하는 바는 다음과 같습니다.
- 파랑: 우선 순위가 낮은 프로세스(nice > 0)
- 초록: 일반(사용자) 프로세스
- 빨강: 커널 프로세스
- 노랑: IRQ time
- 자주: Soft IRQ time
- 회색: IO Wait time
시스템 전체 메모리 사용률
CPU 사용률 아래에 메모리와 스왑 사용량이 보이는데 게이지바의 색깔이 의미하는 바는 다음과 같습니다.
- 초록: 사용 중인 메모리 페이지
- 파랑: 버퍼 페이지
- 노랑: 캐쉬 페이지
평균 부하율(Load average)
- 일정 시간 동안의 평균 부하율로 top이나 uptime과 마찬가지로 1, 5, 15분 간격으로 평균 수치가 나옵니다. 싱글 코어 CPU일 때 1.0이면 사용률이 100% 임을 의미합니다. 쿼드 코어라면 4.0이 100%입니다. 다만 이때 1.0을 넘을 수도 있는데 이는 CPU를 할당받기 위해 프로세스들이 기다려야 함을 뜻합니다.
프로세스 정보
- PID: 프로세스의 프로세스 ID 번호
- USER: 프로세스의 소유자
- PR: 프로세스의 우선순위
- NI: 우선순위에 영향을 주는 프로세스의 nice 값
- VIRT: 프로세스가 사용 중인 가상 메모리 양
- RES: 프로세스가 사용 중인 물리 RAM의 양(단위는 킬로바이트)
- SHR: 프로세스가 사용 중인 공유 메모리 양
- S: 프로세스의 현재 상태(zombied, sleeping, running, uninterruptedly sleeping, traced)
- %CPU: 프로세스가 프로세서를 사용한 시간의 백분율
- %MEM : 프로세스가 사용 중인 물리 RAM의 백분율
- TIME+: 프로세스가 프로세서를 사용한 시간
- COMMAND: 프로세스 시작에 사용한 명령어
단축키 설명
- F1 : htop의 도움말을 볼 수 있으며, 단축키의 기능을 알 수 있습니다.
- F2 : 설정, 설정에서는 상단에 보여줄 CPU. 메모리에 대한 정보를 추가/제거 할 수 있으며, 디스플레이 옵션 설정도 가능합니다.
- F3 : F3 또는 “/” 눌러 해당 프로세스를 검색할 수 있습니다.
- F4 : 원하는 프로세스만 모니터링 할 수 있는 기능입니다.(grep과 유사)
- F5 : pstree명령어와 같은 기능으로 프로세스의 부모 자식 관계를 트리 형태로 보여주는 기능이며, 한번 더 키를 입력하면 트리를 보여 주거나 그 반대 기능을 합니다.“+”.”-” 키를 이용해 트리를 펼치거나 접을 수 있습니다.
- F6 : 프로세스를 CPU,메모리,사용자,우선순위, 프로세스이름 등 원하는 방식으로 정렬하여 보다 쉽게 모니터링 할 수 있습니다.
- F7, F8: 프로세스의 우선 순위을 바꾸는 단축키 입니다.
- F9 :프로세스를 종료 시키는 단축키입니다. 보통 프로세스를 종료 시키려면ps명령어로 해당 PID를 찾아 kill -9 PID 명령어로 종료 시킵니다. htop에서 해 당 프로세스를 선택 후 F9 또는 “k”키를 입력하여 해당 프로세스를 종료시킬 수 있습니다.
- F10 : htop을 종료 합니다.
- l : 그 프로세스가 열고 있는 파일들을 볼 수 있습니다.
- u : 특정 사용자의 프로세스만 볼 수 있습니다.
- k: 현재 또는 선택된 프로세스를 종료 합니다.
- M 메모리 사용량으로 프로세스를 정렬 합니다.
- P: CPU 사용량으로 프로세스를 정렬 합니다.
'programming > Linux' 카테고리의 다른 글
[Linux] ldconfig (1) 2023.03.06 [Linux] tar 와 tar.gz 차이 압축, 압축 해제 (0) 2022.07.08 [Linux]쉘 스크립트(Shell Script)란? (0) 2021.11.14