nethogs - 프로세스별 대역폭 모니터 치트시트
nethogs는 작은 “net top” 도구로 프로세스별로 대역폭 사용을 그룹화한다 (연결이나 서브넷이 아닌). 뭔가 당신의 링크를 포화시키고 있을 때, nethogs는 어떤 프로그램이 책임있는지와 얼마나 많이 보내고 받는지 보는 가장 빠른 방법이다 — 패킷 필터나 설정 없음. PID별로 트래픽을 읽으므로 root가 필요하다.
설치
| 플랫폼 | 명령어 |
|---|
| Debian/Ubuntu | sudo apt install nethogs |
| Fedora/RHEL | sudo dnf install nethogs |
| Arch Linux | sudo pacman -S nethogs |
| macOS (Homebrew) | brew install nethogs |
| 확인 | nethogs -V |
실행
| 명령어 | 설명 |
|---|
sudo nethogs | 기본 인터페이스 모니터링 |
sudo nethogs eth0 | 특정 인터페이스 모니터링 |
sudo nethogs eth0 wlan0 | 여러 인터페이스 모니터링 |
sudo nethogs -d 5 | 5초마다 새로고침 |
sudo nethogs -v 3 | 보기 모드: 누적 트래픽 |
디스플레이
| 열 | 의미 |
|---|
PID | 프로세스 ID |
USER | 프로세스 소유자 |
PROGRAM | 실행 가능 경로 (및 일부 보기에서 원격) |
DEV | 네트워크 디바이스 |
SENT | 업로드 속도 (기본값 KB/s) |
RECEIVED | 다운로드 속도 |
대화형 키
| 키 | 작업 |
|---|
m | 단위 사이클 (KB/s, KB, B, MB) |
s | SENT로 정렬 |
r | RECEIVED로 정렬 |
q | 종료 |
보기 모드 (-v)
| 모드 | 표시 |
|---|
-v 0 | KB/s (속도, 기본값) |
-v 1 | 총 KB |
-v 2 | 총 B |
-v 3 | 총 MB (시작 이후 누적) |
알아두면 유용한 옵션
| 옵션 | 설명 |
|---|
-d SECONDS | 새로고침 지연 |
-t | ”Trace” / 비대화형 텍스트 출력 |
-b | 버그 헌팅 모드 (디버그) |
-a | 모든 디바이스 모니터링 (루프백 포함) |
-p | 프로미스 쿠어스 모드 (더 많은 트래픽 봄) |
-C | 제한/카운트 모드에서 캡처 |
일반적인 워크플로우
# 메인 인터페이스에서 대역폭 병목 찾기, RECEIVED로 정렬
sudo nethogs eth0 # 그 후 'r'을 눌러 RECEIVED로 정렬
# 느린 새로고침으로 Wi-Fi 모니터링
sudo nethogs wlan0 -d 3
# 스크립트/티켓을 위한 비대화형 캡처
sudo nethogs -t eth0 > nethogs.log
nethogs vs 관련 도구
| 도구 | 그룹화 기준 | 참고 |
|---|
| nethogs | 프로세스 (PID) | “누가 대역폭을 사용하는가?“ |
| iftop | 연결 (호스트 쌍) | “어떤 연결이 바쁜가?“ |
| bandwhich | 프로세스 + 연결 + 원격 | Rust, 가장 풍부한 분석 |
| nload | 인터페이스 총합 | 간단한 집계 그래프 |
nethogs는 어떤 프로세스; iftop은 어떤 연결; 네트워크 문제를 추적할 때 함께 사용하자.
자료