gotop 설치 가이드: 리눅스, macOS, 윈도우에서의 시스템 모니터링 도구 설정

gotop이란 무엇인가?

gotop은 Go 언어로 제작된 터미널 기반 시스템 리소스 모니터링 도구입니다. gtop과 vtop에서 영감을 받아 개발되었으며, CPU 사용률, 메모리 점유율, 디스크 I/O, 네트워크 트래픽, 프로세스 목록 등을 실시간으로 그래픽 형식으로 표시합니다. 다양한 레이아웃과 색상 테마를 지원하며, 키보드 및 마우스로 상호작용할 수 있어 서버 관리자나 개발자에게 유용한 도구입니다.

지원 운영체제 및 설치 방법

gotop은 크로스플랫폼을 지원하므로 주요 운영체제에서 모두 사용 가능합니다. 아래는 각 환경별 설치 절차입니다.

1. 패키지 매니저를 통한 설치 (권장)

가장 간편한 방법은 시스템에 맞는 패키지 관리자를 활용하는 것입니다.

  • macOS (Homebrew 사용)
    brew install gotop
  • Windows (Scoop 사용)
    scoop install gotop
  • Arch Linux (AUR)
    yay -S gotop-bin
    또는 최신 개발 버전:
    yay -S gotop-git
  • Gentoo
    sudo layman -a guru
    sudo emerge gotop
  • Nix/NixOS
    nix-shell -p gotop --run gotop

2. 사전 컴파일된 바이너리 다운로드

패키지 매니저를 사용하지 않거나 커스텀 환경에서 실행해야 할 경우, 공식 릴리스 페이지에서 바이너리를 직접 내려받을 수 있습니다.

  1. 릴리스 페이지에서 OS와 아키텍처에 맞는 파일 선택
  2. 예: Linux x86_64 사용자는 gotop-linux-amd64 다운로드
  3. 실행 권한 부여 후 시스템 경로에 이동
chmod +x gotop-linux-amd64
sudo mv gotop-linux-amd64 /usr/local/bin/gotop

3. 소스 코드에서 직접 빌드

최신 기능을 테스트하거나 커스터마이징이 필요한 경우 소스에서 빌드할 수 있습니다.

빌드 전 요구사항

  • Go 1.16 이상 설치 필요
  • 버전 확인 명령:
go version

기본 빌드 절차

git clone https://github.com/xxxserxxx/gotop.git
cd gotop
go build -o gotop ./cmd/gotop
sudo mv gotop /usr/local/bin/

버전 정보 포함 빌드

빌드 시 태그와 시간 정보를 포함시키면 추후 디버깅에 유리합니다.

VERS="$(git describe --tags --abbrev=0 | sed 's/^v//' ).$(git rev-list --count HEAD)"
DAT="$(date -u '+%Y%m%d.%H%M%S')"
go build -ldflags "-X main.Version=${VERS} -X main.BuildDate=${DAT}" -o gotop ./cmd/gotop

루트 권한 없이 설치

관리자 권한이 없는 경우 다음 스크립트를 사용하면 로컬 디렉터리에 자동 설치됩니다.

./scripts/install_without_root.sh

OS별 특이사항

Debian/Ubuntu (.deb 설치)

wget https://github.com/xxxserxxx/gotop/releases/download/v4.2.0/gotop_4.2.0_linux_amd64.deb
sudo dpkg -i gotop_4.2.0_linux_amd64.deb

Fedora/RHEL/CentOS (.rpm 설치)

wget https://github.com/xxxserxxx/gotop/releases/download/v4.2.0/gotop_4.2.0_linux_amd64.rpm
sudo rpm -ivh gotop_4.2.0_linux_amd64.rpm

macOS 추가 안내

  • 기존 설치된 버전이 있다면 먼저 제거:
brew uninstall gotop
  • 중복 설치 방지를 위해 PATH 확인

Windows 수동 설치

  1. GitHub 릴리스에서 gotop.exe 다운로드
  2. 원하는 위치에 저장 후, 시스템 PATH에 등록
  3. CMD 또는 PowerShell에서 바로 실행 가능

폰트 설정 및 유니코드 지원

gotop은 점자(브라일) 및 블록 문자를 사용하여 그래프를 표현하므로, 해당 유니코드 범위를 지원하는 폰트가 필요합니다.

전용 폰트 적용 (Linux 콘솔)

curl -O -L https://raw.githubusercontent.com/xxxserxxx/gotop/master/fonts/Lat15-VGA16-braille.psf
sudo setfont Lat15-VGA16-braille.psf

터미널 에뮬레이터 설정

GNOME Terminal, Konsole, iTerm2 등의 터미널 앱에서는 설정에서 다음 조건을 충족하는 폰트를 지정하세요:

  • 유니코드 범위 U+2800~U+28FF (Braille patterns) 지원
  • 권장 폰트: DejaVu Sans Mono, Fira Code, Noto Sans Mono

설치 검증 및 기본 실행

설치 후 정상 동작 여부를 확인하세요.

gotop --version
gotop --help
gotop

실행 시 CPU, 메모리, 네트워크, 디스크 상태 및 프로세스 목록이 실시간으로 표시됩니다.

고급 옵션 및 레이아웃 설정

주요 실행 인수

# 색상 테마 적용
gotop -c solarized

# 업데이트 주기 설정 (초 단위)
gotop -r 1.5s

# NVIDIA GPU 모니터링 활성화 (nvidia-smi 필요)
gotop --nvidia

사전 정의된 레이아웃

  • 기본 (default): 모든 주요 지표 표시
  • minimal: 최소한의 리소스 정보 제공
  • kitchensink: 가능한 모든 데이터 포함 (디스크 I/O, 센서, 배터리 등)
  • procs: 프로세스 목록 중심 레이아웃
  • battery: 노트북용 배터리 상태 강조

설정 파일 관리

gotop은 다음 순서로 설정 파일을 탐색합니다:

  1. 현재 디렉터리: gotop.conf
  2. 사용자 설정: ~/.config/gotop/gotop.conf
  3. 시스템 설정: /etc/gotop/gotop.conf

현재 설정을 파일로 저장하려면:

gotop --write-config

문제 해결

흔히 발생하는 문제

  • Go 버전 오류: Go 1.16 미만은 빌드 실패. 스크립트 설치 방식 고려
  • 설치 권한 거부: /usr/local/bin에 쓰기 불가 시 ~/bin에 설치하거나 sudo 사용
  • 글꼴 깨짐 현상: 브라일 문자가 사각형으로 보이면 폰트 재설정 필요
  • 온도 정보 미표시: lm_sensors (Linux) 또는 하드웨어 드라이버 미설치 가능성 있음
  • NVIDIA GPU 감지 실패: nvidia-smi 명령어가 PATH에 있는지 확인

업데이트 및 삭제

업데이트 방법

  • 패키지 매니저
    # Homebrew
    brew upgrade gotop
    
    # Scoop
    scoop update gotop
    
    # AUR
    yay -Syu gotop-bin
  • 소스 기반
    cd gotop
    git pull
    go build -o gotop ./cmd/gotop

제거 방법

  • 패키지 설치 시
    brew uninstall gotop
    scoop uninstall gotop
    yay -R gotop-bin
  • 직접 설치 시: 바이너리 파일과 설정 파일을 수동으로 삭제

사용 팁

  • ? 키: 모든 단축키 보기
  • q: 종료
  • 마우스 클릭: 프로세스 선택
  • 마우스 휠: 프로세스 목록 스크롤

커스터마이징은 colorschemes/ 디렉터리의 테마 파일과 layouts/의 레이아웃 정의를 수정하여 가능합니다.

태그: gotop system monitoring terminal tools Go programming linux

5월 22일 03:54에 게시됨