본문 바로가기
CS

리눅스 프로세스 좀 더 잘 들여다보기 - htop 사용법

by Warehaus 2024. 4. 13.

 

 

 

최근 운영 중인 서비스가 프로세스를 많이 사용하게 되면서, 

ps 나 top 보다 조금 더 나은 도구가 필요하다는 생각이 들었습니다.

 

그래서 찾아보니 htop 이라는 툴이 있어서 일단 VM에서 어느정도 기능을 제공하는지

확인해 보았습니다.

 

 

설치

 

htop 설치는 apt, snap  또는 소스코드 빌드 등 여러 방법으로 가능하다.

각자 OS에 맞는 패키지 관리 도구를 이용하도록 하자.

 

저는 apt 로 설치를 진행했습니다.

 

반응형

 

명령어, 옵션

 

새로운 명령어를 설치하면 help 또는 man page를 확인해 보곤 합니다.

몇 가지 옵션들이 뜨는데요, 하나씩 천천히 확인해 보겠습니다.

 

 

1. htop

그냥 htop명령을 입력했을 때 입니다.

 

각종 프로세스 정보들과 개별 코어가 얼만큼의 리소스를 사용하고 있는지를 보여줍니다.

htop 내에서는 아래와 같은 인터페이스 명령어를 지원합니다.

 

  • 화살표, Page Up, Page Down, Home, End: 프로세스 목록을 스크롤합니다.
  • Space: 프로세스를 태그하거나 태그를 제거합니다.
  • U: 모든 프로세스의 태그를 제거합니다 (Space 키로 추가한 모든 태그를 제거합니다).
  • s: 프로세스의 시스템 호출을 추적합니다.
  • F1: 도움말을 표시합니다.
  • F2: 설정을 변경합니다.
  • F3: 검색을 시작합니다.
  • F4: 필터링을 시작합니다. 프로세스 명령어의 일부를 입력하면 이름이 일치하는 프로세스만 표시됩니다.
  • F5: 트리 뷰를 표시합니다.
  • F6: 정렬을 시작합니다.
  • F7: 선택한 프로세스의 우선순위를 높입니다. 이 작업은 슈퍼유저만 수행할 수 있습니다.
  • F8: 선택한 프로세스의 우선순위를 낮춥니다.
  • F9: 프로세스를 종료합니다.
  • F10: htop을 종료합니다.

 

2. htop -C

htop -C 결과

 

-C 는 no color 옵션입니다.

위에 출력과는 다소 상이한 결과를 확인할 수 있습니다.

 

알록달록한 색상만 없어졌네요.

 

 

3. htop -d <seconds>

-d --delay=DELAY            Set the delay between updates, in tenths of seconds

 

-d 옵션을 통해 Refresh 되는 시간을 설정 가능합니다.

 

tenths of seconds 는 100 ms 이구요. 1초가 1000 ms 이니

매 업데이트 마다 1초 정도의 딜레이를 주고 싶다면 "-d 10" 옵션값을 사용하시면 됩니다.

 

$ htop -d 10

 

반응형

 

 

4. htop -h

-h --help                   Print this help screen

 

도움말을 출력하는 옵션 입니다.

이 옵션은 앞에 언급되었으므로 빠르게 넘어가겠습니다.

 

 

5. htop -s

-s --sort-key=COLUMN        Sort by COLUMN (try --sort-key=help for a list)

 

특정 컬럼을 정렬하는 옵션입니다.

 

pid 정렬
pid 정렬

 

htop 의 컬럼 중 하나인 PID를 정렬하면 위와 같은 결과를 얻을 수 있습니다.

각종 계정이나 CPU 사용량 정보를 정렬하면 유용하게 사용할 수 있을 것 같네요.

 

 

6. htop -t

-t --tree                   Show the tree view by default

 

htop 명령어의 출력을 tree 형태로 보여주는 옵션입니다.

출력 결과는 아래와 같습니다.

 

 

자식 프로세스들을 쉽게 확인할 수 있다는게 이 옵션의 장점인데요,

htop 사용 시 기본적으로 -t 옵션을 같이 사용하게 될 것 같네요.

 

tree 구조로 나오면 분석이 조금이라도 빨라지기 때문입니다.

 

7. htop -u

-u --user=USERNAME          Show only processes of a given user

 

 

-u 옵션을 통해 특정 사용자의 프로세스만을 출력 가능합니다.

출력 결과는 아래와 같습니다.

 

 

반응형

 

 

8. htop -p

-p --pid=PID,[,PID,PID...]  Show only the given PIDs

 

지정 된 PID 에 대한 htop 출력을 나타내는 옵션입니다.

이 옵션은 기존에 사용하던 top 명령어에서도 있어서 자주 사용하곤 했습니다.

 

htop , top 등의 명령어는 서버에서 수행중인 프로세스들의 CPU 사용률을 확인하기 위해 사용하기도 하지만

특정 프로세스가 얼마만큼의 자원을 사용하고 있는지 확인을 위해서도 사용합니다.

 

이럴 때 -p 옵션을 적극적으로 활용하면 좋을 것 같네요.

 

 

 

오늘은 htop 명령어의 기본적인 옵션값들에 대해 확인해 보았습니다.

다음 포스팅에서는 htop 내에서의 명렁어를 어떻게 잘 활용할 수 있는지에 대해 알아보도록 하겠습니다.