리눅스

Htop (Linux Process Monitoring) 사용법

by 이온디 posted May 05, 2020
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

 1. Htop란 

Htop란 텍스트모드 대화식 프로세스 뷰어로 MS 윈도우의 '작업관리자'와 비슷하며 cpu 사용량, 메모리 사용량 등 리눅스 운영체제에서 시스템 자원을 비쥬얼적으로 모니터링이 가능합니다.
다양한 기능을 가지면서 손쉽세 사용할 수 있다는 것이 Htop의 특징입니다.

 2. Htop 기능 

- 프로세스 선택을 커서나, 마우스를 사용할 수 있습니다.
- pstree와 top을 함께 보는 기능이 있습니다.
- 선택된 프로세스를 죽이거나 우선순위를 변경할 수 있습니다.
- 특정 프로세스 이름으로 검색, 필터링하여 현황을 볼 수 있습니다.
- 선택된 프로세스의 'lsof' 명령 결과를 볼 수 있습니다.
- 선택된 프로세스의 시스템 콜을 확인하는 strace를 할 수 있습니다.

 3. Htop 다운로드, 설치 및 실행 

▶ 다운로드

[root@localhost ~] wget http://pkgs.repoforge.org/htop/htop-1.0.3-1.el6.rf.i686.rpm    [32비트][root@localhost ~] wget http://pkgs.repoforge.org/htop/htop-1.0.3-1.el6.rf.x86_64.rpm [64비트]

▶ 설치

[root@localhost ~] rpm -Uvh htop-1.0.3-1.el6.rf.i686.rpm
[root@localhost ~] tar xvfp htop-1.0.2.tar.gz
[root@localhost ~] cd htop-1.0.2
[root@localhost ~] ./configure
[root@localhost ~] make && make install

(libncurses라이브러리 관련 오류가 나면, yum install ncurses*을 설치합니다. )

▶ 실행
[root@localhost ~ ] htop

htop 화면을 살펴보면 왼쪽 상단에 CPU, swap 메모리, 메모리 사용률이 표현되어 있으며 하단에는 모니터링 되고 있는 프로세스가 보입니다. 이는 기본적으로 1초에 한번 갱신됩니다.
htop에서는 F1~F10까지 단축키가 있으며 단축키 마다 기능이 정해져 있습니다.

 4. 프로세스 정보 

  • PID : 프로세스의 프로세스 ID번호
  • USER : 프로세스의 소유자
  • PR : 프로세스의 우선순위
  • NI : 우선순위에 영향을 주는 프로세스의 nice 값
  • VIRT : 프로세스가 사용중인 가상 메모리 양
  • RES : 프로세스가 사용중인 물리 RAM의 양 (단위는 킬로바이트)
  • SHR : 프로세스가 사용중인 공유 메모리 양
  • S : 프로세스의 현재 상태(zombied, sleeping, running, uninterruptedly sleeping, traced)
  • %CPU : 프로세스가 프로세서를 사용한 시간의 백분율
  • %MEM : 프로세스가 사용중인 물리 RAM의 백분율
  • TIME+ : 프로세스가 프로세서를 사용한 시간
  • COMMAND : 프로세스 시작에 사용한 명령어명


▶ F1(help) : htop의 도움말을 볼 수 있으며, 단축기의 기능을 알 수 있다.


cpu, 메모리등 막대그래프의 색깔별 의미를 알 수 있다. 아무키나 누르면 도움말 페이지에서 빠져 나갈 수 있습니다.

▶ F2(Setup) : htop 설정 단축키로써 F2 또는 'S' 대문자 키를 입력하면 됩니다.

설정에서는 상단에 보여줄 CPU 메모리에 대한 정보를 추가/제거 할 수 있으며 디스플레이 옵션 설정도 가능합니다. 옵션을 통해 색상과 보여주기 옵션을 Bar -> LED로 바꾸어 보았습니다.

▶ F3(Search) : F3 또는 '/' 눌러 해당 프로세스를 검색할 수 있습니다.

http 프로세스를 검색한 결과입니다. 단어를 입력하는 순간 해당 프로세스로 이동하게 되며 F3 키를 다시 입력하면 다음 프로세스로 이동됩니다.

▶ F4(Filter) : F4 또는 '\'를 입력하면 됩니다.
ps -ef | grep mysqld
같은 명령어로써 원하는 프로세스만 모니터링 할 수 있는 기능입니다.


필터 기능을 사용하여 'mysql' 프로세스를 찾았습니다. 'Enter' 키를 입력하면 필터링 된 프로세스만 보이게 됩니다.

▶ F5(Tree) : F5 또는 't' 키를 입력하면 됩니다. pstree 명령어와 같은 기능으로 프로세스의 부모자식 관계를 트리 형태로 보여주는 기능이며, 한번 더 키를 입력하면 트리를 보여 주거나 그 반대 기능을 합니다. '+' '-' 키를 이용해 트리를 펼치거나 접을 수 있습니다.

프로세스를 트리구조 형태로 볼 수 있어 편리합니다.
* pstree 명령어는 프로세스간의 부모 자식 관계를 트리형태로 출력함으로써 시스템의 프로세스의 상태를 점거하는 툴입니다.

▶ F6(Sort) : 프로세스를 CPU, 메모리, 사용자, 우선순위, 프로세스 이름 등 원하는 방식으로 정렬하여 보다 쉽게 모니터링 할 수 있습니다.

PID 기준으로 정렬한 모습입니다. F6에서 P(CPU), M(MEM), T(Time) 키를 사용해서도 가능합니다.

▶ F7, F8(Nice) : 프로세스의 우선 순위를 바꾸는 단축기입니다.
해당 프로세스를 선택하여 F7 Ehsms "]" 키를 사용하여 높이며 'F8' 키 또는 ']'를 사용하여 우선순위를 내릴 수 있습니다.

▶ F9(Kill) : 프로세스를 종료시키는 단축키입니다. 보통 프로세스를 종료시키려면 PS 명령어로 해당 PID를 찾아 kill-9 PID 명령어로 종료시킵니다. htop에서 해당 프로세스를 선택 후 F9 또는 'k'키를 입력하여 해당 프로세스를 종료시킬 수 있습니다.
만약 여러 프로세스를 한번에 종료시키려면 'space' 키로 다수의 프로세스를 선택 후 'F9' 키를 눌러 취소합니다.

▶ F10(quit) : htop 종료

▶ 그 밖의 기타 기능

1. 특정 프로세스 모니터링 "u" 키를 입력하면 실행 중 특정 사용자의 프로세스만 볼 수 있습니다.
사용자를 선택하여 해당 사용자의 프로세스만 볼 수 있습니다.

2. 우선순위 변경 : 'i' 키를 입력하면 I/O 우선순위를 변경 할 수 있습니다.

3. 시스템 콜 트레이스(strace) : 특정 프로세스 선택 후 's' 키를 누르게 되면, 해당 프로세스의 콜을 보여줍니다.
strace란? stem-call Tracer 의미하는 말로 strace에 의해 추적되는 프로세스의 시스템콜, 신호를 모두 화면에 출력합니다.

4. 열린 파일 확인(lsof) : 프로세스 선택 후, 'l'키를 누르면 특정 프로세스에서 열고 있는 파일을 볼 수 있습니다.

5. htop 화면에서 숫자를 입력하면 해당 PID가진 프로세스를 찾을 수 있습니다.


출처: https://internet-nayana.tistory.com/47 [인터넷나야나]