htop 에서 다양한 기준으로 프로세스 정렬하는 방법

LinuxBeginner
지금 연습하기

소개

htop 유틸리티는 Linux 시스템에서 전통적인 top 명령의 향상된 버전입니다. 시스템 리소스를 실시간으로 모니터링하고 프로세스를 관리하기 위한 사용자 친화적인 대화형 인터페이스를 제공합니다. 이 튜토리얼에서는 CPU 사용량, 메모리 소비량, 프로세스 ID 등 다양한 기준에 따라 프로세스를 정렬하는 데 중점을 두고 htop 사용법을 안내합니다.

htop에서 프로세스를 효과적으로 정렬하는 방법을 배우면 다음을 수행할 수 있습니다.

  • 리소스를 많이 사용하는 애플리케이션을 빠르게 식별
  • 시스템 성능을 보다 효율적으로 모니터링
  • 문제 해결 시 특정 프로세스 찾기
  • 시스템 리소스를 더 잘 관리
이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 94%입니다.학습자들로부터 100%의 긍정적인 리뷰율을 받았습니다.

htop 설치 및 실행

첫 번째 단계에서는 Ubuntu 시스템에 htop 유틸리티를 설치하고 처음으로 실행합니다.

htop 설치

htop을 사용하기 전에 설치해야 합니다. 터미널을 열고 다음 명령을 실행합니다.

sudo apt update
sudo apt install htop -y

첫 번째 명령은 패키지 목록을 업데이트하고, 두 번째 명령은 htop 패키지를 설치합니다. -y 플래그는 설치를 자동으로 확인합니다.

다음과 유사한 출력을 볼 수 있습니다.

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  htop
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 132 kB of archives.
After this operation, 301 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 htop amd64 3.0.5-7build2 [132 kB]
Fetched 132 kB in 1s (132 kB/s)
Selecting previously unselected package htop.
(Reading database ...
Unpacking htop (3.0.5-7build2) ...
Setting up htop (3.0.5-7build2) ...
Processing triggers for man-db (2.10.2-1) ...

htop 실행

htop이 설치되었으므로 터미널에 다음 명령을 입력하여 실행할 수 있습니다.

htop

다음과 같은 대화형 디스플레이가 표시됩니다.

  • CPU, 메모리 및 스왑 사용량 막대가 있는 헤더
  • 시스템에서 실행 중인 프로세스를 보여주는 프로세스 목록
  • 키보드 단축키가 있는 푸터
htop initial screen

잠시 인터페이스를 살펴보십시오. 프로세스 목록에는 일반적으로 다음 열이 포함됩니다.

  • PID (Process ID, 프로세스 ID)
  • USER (Process owner, 프로세스 소유자)
  • PRI (Priority, 우선 순위)
  • NI (Nice value, 나이스 값)
  • VIRT (Virtual memory, 가상 메모리)
  • RES (Resident memory, 상주 메모리)
  • SHR (Shared memory, 공유 메모리)
  • S (Status, 상태)
  • CPU% (CPU usage percentage, CPU 사용량 백분율)
  • MEM% (Memory usage percentage, 메모리 사용량 백분율)
  • TIME+ (CPU time, CPU 시간)
  • Command (Process name/command, 프로세스 이름/명령어)

탐색을 마치고 htop을 종료하려면 키보드에서 q 키를 누르십시오.

htop 인터페이스 탐색

htop을 설치하고 실행했으므로 인터페이스를 살펴보고 탐색하는 방법을 알아보겠습니다.

htop 기본 탐색

다시 입력하여 htop을 실행합니다.

htop

화살표 키 사용

htop 인터페이스에서:

  • UpDown 화살표 키를 사용하여 프로세스 목록에서 선택 커서를 이동합니다.
  • 프로세스 목록이 화면보다 넓은 경우 LeftRight 화살표 키를 사용하여 가로로 스크롤합니다.

지금 이 화살표 키를 사용하여 프로세스 목록을 탐색해 보십시오.

페이지 스크롤

실행 중인 프로세스가 많은 경우 다음을 사용할 수 있습니다.

  • Page UpPage Down 키를 사용하여 프로세스 페이지를 스크롤합니다.
  • Home 키를 사용하여 첫 번째 프로세스로 이동합니다.
  • End 키를 사용하여 마지막 프로세스로 이동합니다.

디스플레이 이해

htop 디스플레이의 주요 구성 요소를 이해하는 데 잠시 시간을 할애하십시오.

  1. 헤더: 시스템 전체 정보를 표시합니다.

    • CPU 사용량 막대 (각 CPU 코어당 하나)
    • 메모리 사용량 막대
    • 스왑 사용량 막대
    • 가동 시간 (시스템이 실행된 시간)
    • 부하 평균 (지난 1, 5, 15 분 동안의 시스템 부하)
  2. 프로세스 목록: 각 프로세스에 대한 자세한 정보를 표시합니다.

    • 각 열은 프로세스의 다른 속성을 나타냅니다.
    • 현재 선택된 프로세스가 강조 표시됩니다.
  3. 푸터: 사용 가능한 키보드 단축키를 표시합니다.

    • 일반적인 작업에 대한 기능 키 (F1-F10)
    • 이러한 단축키는 htop을 효과적으로 사용하는 데 필수적입니다.

몇 가지 기본 탐색을 테스트해 보겠습니다. 목록에서 htop 프로세스 자체를 찾아보십시오. 실행 중인 프로세스 중에서 표시되어야 합니다. 화살표 키를 사용하여 찾을 때까지 스크롤합니다.

htop 내에서 도움말을 얻으려면 F1 키 또는 h를 누르십시오. 이렇게 하면 키보드 단축키의 전체 목록이 있는 도움말 화면이 열립니다.

도움말 화면을 종료하려면 Escape 키 또는 q를 누르십시오.

탐색을 마치면 q를 눌러 htop을 종료합니다.

htop 에서 프로세스 정렬

다양한 기준에 따라 프로세스를 정렬하는 기능은 htop의 가장 유용한 기능 중 하나입니다. 이 단계에서는 리소스 집약적인 애플리케이션을 쉽게 식별하거나 특정 프로세스를 찾기 위해 프로세스를 정렬하는 다양한 방법을 배우겠습니다.

htop 의 정렬 방법

다시 htop을 실행합니다.

htop

정렬 메뉴 사용

프로세스를 정렬하는 가장 간단한 방법은 전용 정렬 메뉴를 사용하는 것입니다.

  1. htop에서 F6을 누릅니다. 그러면 정렬 메뉴가 열립니다.

  2. 다음 열을 기준으로 정렬할 수 있습니다.

    • PID
    • USER
    • PRIORITY (우선 순위)
    • NICE (나이스)
    • M_SIZE (Memory size, 메모리 크기)
    • M_RESIDENT (Resident memory, 상주 메모리)
    • M_SHARE (Shared memory, 공유 메모리)
    • STATE (상태)
    • PERCENT_CPU (CPU 사용량)
    • PERCENT_MEM (메모리 사용량)
    • TIME (시간)
    • COMM (Command, 명령어)
  3. 화살표 키를 사용하여 열을 선택한 다음 Enter를 눌러 해당 열을 기준으로 정렬합니다.

예를 들어, CPU 사용량을 기준으로 정렬하려면:

  1. F6을 누릅니다.
  2. 화살표 키를 사용하여 PERCENT_CPU를 선택합니다.
  3. Enter를 누릅니다.

이제 프로세스가 CPU 사용량을 기준으로 정렬되어 CPU 를 가장 많이 사용하는 프로세스가 맨 위에 표시됩니다.

직접 정렬 단축키

htop은 또한 일반적인 정렬 옵션에 대한 직접적인 키보드 단축키를 제공합니다.

  • P를 눌러 CPU 사용량 (Processor, 프로세서) 을 기준으로 정렬합니다.
  • M을 눌러 메모리 사용량을 기준으로 정렬합니다.
  • T를 눌러 시간 (누적 CPU 시간) 을 기준으로 정렬합니다.
  • N을 눌러 프로세스 ID 를 기준으로 정렬합니다.

각 단축키를 지금 시도하여 프로세스 목록이 어떻게 변경되는지 확인하십시오.

예를 들어, M을 눌러 메모리 사용량을 기준으로 정렬합니다. 이제 프로세스가 메모리를 가장 많이 사용하는 순서대로 정렬되어 있음을 확인하십시오.

정렬 순서 반전

I (대문자 i) 를 눌러 현재 정렬 순서를 반전시킬 수 있습니다. 이렇게 하면 오름차순과 내림차순 사이를 전환합니다.

P를 사용하여 CPU 사용량을 기준으로 정렬한 다음 I를 눌러 순서를 반전시킵니다. 이제 CPU 사용량이 가장 적은 프로세스가 맨 위에 나타납니다.

열 강조 표시

특정 열을 기준으로 정렬하면 해당 열이 강조 표시되어 현재 정렬 키임을 나타냅니다. 이렇게 하면 현재 프로세스를 정렬하는 데 사용하고 있는 기준을 쉽게 기억할 수 있습니다.

다양한 정렬 방법을 시도하고 강조 표시된 열이 선택 사항을 반영하도록 어떻게 변경되는지 관찰하십시오.

실용적인 예: 메모리 집약적인 프로세스 찾기

특정 시나리오로 연습해 보겠습니다. 어떤 프로세스가 가장 많은 메모리를 소비하는지 식별하려는 경우:

  1. M을 눌러 메모리 사용량을 기준으로 정렬합니다.
  2. 이제 프로세스가 메모리 소비량 (높음에서 낮음 순) 을 기준으로 정렬됩니다.
  3. 목록의 맨 위에 있는 프로세스는 시스템의 가장 메모리 집약적인 애플리케이션입니다.

이 정렬 방법은 메모리 문제를 해결하거나 메모리 누수를 식별할 때 매우 유용합니다.

탐색을 마치면 q를 눌러 htop을 종료합니다.

정렬된 정보를 기반으로 프로세스 관리

htop에서 프로세스를 정렬하는 방법을 배운 후, 이 정렬된 정보를 사용하여 프로세스를 효과적으로 관리하는 방법을 살펴보겠습니다.

htop 의 프로세스 관리 작업

다시 한 번 htop을 실행합니다.

htop

프로세스 선택 및 관리

프로세스를 정렬하고 관심 있는 프로세스를 식별한 후에는 다양한 작업을 수행할 수 있습니다.

  1. 프로세스 선택: 화살표 키를 사용하여 해당 프로세스로 이동합니다.
  2. 프로세스 세부 정보 보기: F2를 눌러 보기를 사용자 정의하거나 space를 눌러 일괄 작업에 대한 프로세스를 태그합니다.
  3. 프로세스 종료: F9를 눌러 프로세스에 신호를 보냅니다 (예: 종료).
  4. 프로세스 우선 순위 변경: F7을 눌러 우선 순위를 낮추거나 (더 높은 nice 값) F8을 눌러 우선 순위를 높입니다 (더 낮은 nice 값).

이러한 작업을 연습해 보겠습니다.

리소스 집약적인 프로세스 정렬 및 검사

  1. P를 눌러 CPU 사용량을 기준으로 정렬합니다.
  2. 화살표 키를 사용하여 CPU 를 가장 많이 사용하는 프로세스 중 하나로 이동합니다.
  3. F9를 눌러 "신호 보내기" 메뉴를 엽니다.
    • 실제로 종료 신호를 보내지는 않습니다. 이것은 단지 시연을 위한 것입니다.
    • Esc를 눌러 작업을 취소합니다.

정렬 기능을 사용하여 리소스를 많이 사용하는 프로세스를 식별하고 관리하는 것이 얼마나 쉬운지 확인할 수 있습니다.

프로세스 우선 순위 변경

프로세스를 정렬한 후 특정 리소스 집약적인 프로세스의 우선 순위를 조정할 수 있습니다.

  1. M을 눌러 메모리 사용량을 기준으로 정렬합니다.
  2. 메모리 사용량이 많은 프로세스로 이동합니다.
  3. F8을 눌러 우선 순위 조정 메뉴를 엽니다.
    • 이렇게 하면 우선 순위를 높일 수 있습니다.
    • 변경하지 않고 취소하려면 Esc를 누릅니다.

사용자별 정렬

다중 사용자 환경에서 유용한 사용자별로 프로세스를 정렬할 수도 있습니다.

  1. F6을 눌러 정렬 메뉴를 엽니다.
  2. USER를 선택하고 Enter를 누릅니다.
  3. 이제 프로세스가 사용자별로 그룹화되어 어떤 사용자가 어떤 프로세스를 실행하는지 쉽게 확인할 수 있습니다.

정렬을 사용한 트리 뷰

htop은 프로세스 간의 부모 - 자식 관계를 보여주는 트리 뷰를 제공합니다.

  1. F5를 눌러 트리 뷰를 토글합니다.

  2. 프로세스가 계층적으로 구성되는 방식을 확인합니다.

  3. 트리 뷰에서도 정렬을 사용할 수 있습니다.

    • P를 눌러 CPU 사용량을 기준으로 정렬합니다.
    • 프로세스는 정렬되는 동안에도 계층적 관계를 유지합니다.
  4. F5를 다시 눌러 평면 뷰로 돌아갑니다.

프로세스 필터링

정렬과 필터링을 결합하여 프로세스 목록을 좁힐 수 있습니다.

  1. F4를 눌러 필터를 활성화합니다.

  2. 검색어 (예: bash) 를 입력합니다.

  3. Enter를 눌러 필터를 적용합니다.

  4. 이제 이러한 필터링된 결과를 모든 정렬 방법을 사용하여 정렬할 수 있습니다.

    • P를 눌러 필터링된 프로세스를 CPU 사용량별로 정렬합니다.
    • M을 눌러 필터링된 프로세스를 메모리 사용량별로 정렬합니다.
  5. 필터를 지우려면 F4를 다시 누른 다음 Esc를 누릅니다.

시스템 모니터링에 정렬된 정보 사용

htop에서 정렬은 지속적인 시스템 모니터링에 특히 유용합니다.

  1. P를 눌러 CPU 사용량을 기준으로 정렬합니다.
  2. 터미널에서 htop을 실행한 상태로 둡니다.
  3. 시스템 성능을 모니터링하기 위해 상단에 있는 프로세스를 주기적으로 확인합니다.
  4. 비정상적인 리소스 사용 패턴을 발견하면 추가로 조사할 수 있습니다.

탐색을 마치면 q를 눌러 htop을 종료합니다.

요약

이 튜토리얼에서는 강력한 htop 유틸리티를 사용하여 Linux 에서 프로세스를 모니터링하고 관리하는 방법을 배웠습니다. 다음 사항에 대한 실질적인 기술을 습득했습니다.

  • Ubuntu 에 htop을 설치하고 실행합니다.
  • htop 인터페이스를 탐색하고 주요 구성 요소를 이해합니다.
  • CPU 사용량, 메모리 소비량 및 프로세스 ID 와 같은 다양한 기준을 사용하여 프로세스를 정렬합니다.
  • 효율적인 프로세스 정렬을 위해 키보드 단축키를 사용합니다.
  • 정렬된 정보를 기반으로 프로세스를 관리합니다.
  • 프로세스 필터링 및 트리 뷰와 같은 고급 기능을 사용합니다.

이러한 기술을 통해 시스템 성능을 효과적으로 모니터링하고, 리소스 집약적인 프로세스를 신속하게 식별하며, 프로세스 관리에 대한 정보에 입각한 결정을 내릴 수 있습니다. 성능 문제를 해결하거나, 시스템 리소스를 최적화하거나, 단순히 시스템을 주시하는 경우, htop의 정렬 기능은 모든 수준의 시스템 관리자 및 Linux 사용자에게 유용한 도구 세트를 제공합니다.

시스템 프로세스를 정기적으로 모니터링하면 최적의 성능을 유지하고 잠재적인 문제가 심각한 문제로 발전하기 전에 식별하는 데 도움이 될 수 있습니다.