티스토리 뷰

#htop 알아보기

CentOS release 6.8 (Final), 

Kernel 2.6.32-358.el6.x86_64, 

그리고 htop 1.0.3 에서 작성된 내용입니다.




## CPU 상태

 상단에 1~24 까지의 프로그래스가 각 CPU 코어를 프로세스가 점유하고 있는 비율을 나타냅니다. 각 Bar는 해당 코어의 사용된 % 를 표현합니다.

 각 core 마다 색이 들어간 파이프(|) 가 나타나는데요.

 각 색이 의미하는것은 다음과 같습니다:


 * 파랑: low-priority

 * 녹색: normal

 * 빨강: kernel

 * 하늘: virtualiz


## 시스템 전체 메모리 사용률

 CPU 밑에 Mem 과 Swp 으로 메모리와 스왑 사용량이 보입니다. 

 메모리와 스왑은 전체 메모리의 사용된 메모리의 양을 표현합니다.

 각 색상이 의미하는 바는 다음과 같습니다:


### Memory

 * 초록: 사용됨

 * 파랑: 버퍼

 * 노랑: 캐쉬


### Swap

 * 빨강: 사용됨


## 평균 부하율 (Load Average)

 메모리 우측에 Load Average가 보입니다.

 크게 3의 형식으로 보여줍니다. 각 항목은 다음과 같습니다.


 * 첫번째 필드: 1분 평균 수치

 * 두번째 필드: 5분 평균 수치

 * 세번째 필드: 15분 평균 수치


각 필드의 최대치는 CPU 코어 갯수가 최대치입니다. 예를 들어, 싱글 코어라면, 1.0이 표현되면, CPU 전체 부하율이 100%라는 거죠. 다시 예를 들자면, 쿼드코어라면 4.0 이 100% 부하가 걸린 상태라는 겁니다. 이 때 최대치를 넘을 수 있는데, 이는 불특정 프로세스가 CPU를 점유하기 위해 대기 중이라는 뜻입니다.



## 프로세스 정보

상단에, CPU 코어와 메모리 상태 블록 밑에 프로세스 상태를 노출하는 블록이 바로 밑에 리스트 형식으로 표현됩니다. 총 12개 필드로 프로세스의 상태를 알려주는데요 각 항목은 다음과 같습니다 :


 * PID: 프로세스 식별자(ID)

 * USER: 프로세스의 소유자

 * PR: 프로세스의 우선 순위

 * NI: 우선순위에 영향을 주는 프로세스의 nice 값

 * VIRT: 프로세스가 사용 중인 가상 메모리 양

 * RES: 프로세스가 사용 중인 물리 RAM 의 양 (단위: kb)

 * SHR: 프로세스가 사용 중인 공유 메모리 양

 * S: 프로세스의 현재 상태.

  - R: running

  - S: sleeping

  - T: traced / stopped

  - Z: zombie

  - D disk sleep

 * %CPU: 프로세스가 프로세서를 사용한 시간의 백분률

 * %MEM: 프로세스가 사용 중인 물리 RAM의 백분률

 * TIME+: 프로세스가 Core를 사용한 시간

 * COMMAND: 프로세스 시작에 사용한 명령


> Note! nice 값은 프로세스마다 부여된 우선순위 값으로 써 -20이 가장 높은 우선 순위이며, +19는 가장 낮은 우선 순위를 표현합니다. 즉, 우선순위가 높을 수록 운영체제가 먼저 처리하죠.


## 하단 메뉴

프로세스 목록 바로 밑에 10개으 기능이 있습니다.

### F1 Help

F1 키를 누르면, htop 의 버전, License 정보, CPU/Core 와 Memory, Swap Bar 의 각 색상에 대한 설명을 보여줍니다. 그리고 각 단축키에 할당된 기능들을 설명해줍니다.

아무 키나 입력하면 도움 화면을 빠져나갑니다.

### F2 Setup

F2 (또는 S[대문자]) 를 입력하면 설정 화면으로 진입합니다.

### F3 Search

F3 (또는 /) 를 입력하면 특정 프로세스를 검색할 수 있는 command bar를 화면에 보여줍니다. (VIM 하고 유사합니다.)

### F4 Filter

F4 (또는 -, \) 를 입력하면 걸러낼 명령어를 입력할 수 있는 기능입니다. 예를 들어

ps -ef | grep php

를 입력하면 php 단어가 들어가 있는 모든 프로세스를 노출 시켜줍니다.

### F5 Tree/Sorted

F5(또는 t) 를 입력하면 정렬(트리형식으로)해서 화면에 노출해줍니다. + 를 특정 프로세스에서 입력하면 해당 프로세스가 열고 있는 파일의 스냅샷을 보여줍니다.


트리 노출 방식일 때는 정렬기능으로 변경됩니다. 즉 트리 노출 이전의 형태로 돌아갑니다.

### F6 SortBy/Collap

F6을 입력하면 정렬 기능으로 들어갑니다. 좌측에 정렬하고 싶은 필드가 노출되죠. 만일 트리화면일 경우, 각 부모 트리를 접었다 펼쳤다 할 수 있는 기능으로 변경됩니다.

### F7 Nice -

프로세스의 우선순위를 높입니다. 또 다른 단축키로는 "]" 이 있습니다.

### F8 Nice +

프로세스의 우선순위를 낮춥니다. 또 다른 단축키로는 "[" 이 있습니다.

### F9 Kill

특정 프로세스 종료시키는 기능입니다. 다수의 프로세스를 종료하려면 스페이스를 눌러 체크(노란색으로 변함) 시킨 후 F9 또는 "k" 를 입력하시면 됩니다.

### F10 Quit

htop을 종료합니다. 또 다른 단축키로는 "q" 가 있습니다.


참고문서

 * http://www.myservlab.com/174

 * http://www.koreaidc.com/bbs/set_view.php?b_name=idcpds&w_no=191

 * http://www.koreaidc.com/abroadserver/bbs/set_view.php?b_name=idcpds&w_no=192