TL;DR

  • DiskWatch는 단일 호스트의 디스크 활동·용량·상태·사용 중인 파일을 한 터미널에서 살펴보는 읽기 전용 진단 TUI임.
  • 기본 8개 탭, 단일 화면의 Lite(80×24), 여러 패널을 한 화면에 표시하는 Dense(104×32 이상) 뷰를 제공함.
  • 기기·볼륨·파일시스템·입출력 정보를 통합하고, 이상 징후 카드와 경로별 활동 순위로 문제 조사를 돕는 구조임.
  • macOS와 Linux에서 사용할 수 있으며, 전체 SMART 속성 표를 보려면 smartmontools 설치가 필요함.
  • 일부 측정은 플랫폼과 권한에 따라 제한되며, 사용량과 지연 시간은 샘플링 기반임.

DiskWatch

  • 터미널에서 디스크 진단을 수행하며, 기기·볼륨·파일시스템·입출력 정보를 통합해 표시함.
  • 이상 징후 카드로 문제 조사를 지원하며, 읽기 전용이고 시작 시 별도 설정이 필요하지 않음.
  • --dense 실행 화면에서 실시간 디스크 활동을 확인할 수 있음.

설치

  • 패키지 관리자를 통한 설치 명령은 다음과 같음.
  • macOS/Linux: brew install diskwatch
  • NixOS/Nix: nix-shell -p diskwatch
  • Arch(AUR): paru -S diskwatch
  • Rust로 소스 빌드: cargo install diskwatch
  • 사전 빌드 릴리스 바이너리: x eget use matthart1983/diskwatch
  • 사전 빌드 바이너리는 macOS와 Linux의 x86_64·aarch64용으로 제공되며, 정적 Linux 빌드와 Linux armv5te, Windows x86_64용도 포함함.
  • 전체 SMART 속성 표를 보려면 smartmontools를 설치해야 함. 설치하지 않으면 지원되는 경우 기본 상태 플래그만 표시함.

실행

  • diskwatch: 8개 탭으로 실행함.
  • diskwatch --lite: 80×24 화면 하나로 실행함.
  • diskwatch --dense: 한 화면에 6개 패널을 표시함.
  • diskwatch --watch ~/src: 기본 경로 대신 지정한 디렉터리 트리를 감시함.
  • diskwatch --diag: 수집한 상태를 출력하고 종료함.
  • 1–8은 탭 전환, V는 보기 전환, ,는 설정 열기, ?는 도움말 표시, q는 종료임.
  • 모든 키 바인딩과 옵션을 제공함.

탭

  • 1 — Overview: 기기 요약, 통합 입출력, 용량임.
  • 2 — Devices: 모델, 펌웨어, 일련 번호, 사용량, 기기 세부 정보임.
  • 3 — Volumes: APFS 컨테이너 또는 Linux mdraid 상태와 재동기화 진행률임.
  • 4 — FS: 마운트, 용량, 사용량 임계값임.
  • 5 — IO: 기기별 처리량, 기록, 샘플링된 지연 시간임.
  • 6 — SMART: 드라이브 상태와 사용 가능한 NVMe/ATA 속성임.
  • 7 — Hot Files: 이벤트 발생률 순으로 정렬한 경로와 추정 프로세스 출처임.
  • 8 — Insights: 용량·상태·마모·온도·활동 이상 징후임.
  • 전체 화면 데모를 제공하며, 표시되는 측정값은 플랫폼과 권한에 따라 달라짐.

보기

  • Full — 탭 방식으로 개별 기기와 하위 시스템을 살펴보는 전체 보기임.
  • Lite (--lite) — 80×24 크기로, SSH 세션이나 tmux 분할 화면에서 처리량·용량·사용 중인 파일을 확인하는 보기임.
  • Dense (--dense) — 104×32 이상에서 입출력·기기·지연 시간·볼륨·SMART·파일을 함께 표시하는 전체 레이아웃임.
  • Dense는 더 작은 터미널에서 압축 레이아웃을 사용함. /는 Lite와 Dense에서 파일을 필터링하며, s는 Dense에서 파일 정렬 기준을 순환함.
  • 보기별 세부 정보를 제공함.

측정 한계

  • Hot Files는 경로를 열어 둔 프로세스 중 가장 바쁜 프로세스를 추정하며, 각 이벤트의 작성자를 식별하지 않음.
  • 샘플링은 수명이 짧은 작성자를 놓칠 수 있으며, 권한이 없는 경우 프로세스 출처 추정은 현재 사용자로 제한됨.
  • 지연 시간 백분위수와 히스토그램은 개별 입출력 시간이 아니라 샘플링한 구간 평균을 사용함.
  • macOS는 Linux의 사용률 계산에 쓰이는 기기 바쁨 시간 카운터를 노출하지 않음.
  • 지원되지 않는 측정값은 --로 표시함.
  • 플랫폼별 기능 매트릭스를 제공함.

문서

  • Reference: 보기, 제어, 설치, 명령줄 옵션임.
  • Configuration: 테마, 열, 새로 고침 설정, 설정 우선순위임.
  • Watch paths: 감시 루트, 기본값, Linux inotify 제한임.
  • Process attribution: Hot Files가 경로와 프로세스를 연결하는 방식임.
  • Capabilities: 플랫폼 지원과 측정 한계임.

관련 도구

  • NetWatch는 네트워크 진단을 다루고, SysWatch는 시스템 활동을 다룸.
  • 두 도구는 DiskWatch와 터미널 레이아웃 및 색상 팔레트를 공유함.

감사 및 문제 제보

  • 커뮤니티 패키지 관리자가 Nix와 Arch 패키지를 유지 관리함.
  • Repology에서 패키지 버전을 추적함.
  • 패키징 문제는 각 패키지 관리자에게, DiskWatch 버그는 프로젝트에 제보함.

라이선스

  • MIT 라이선스임.