# System Monitor

> 로컬 macOS/Linux 시스템의 CPU, 메모리, 디스크, 네트워크 사용량과 리소스를 많이 쓰는 상위 프로세스를 조회하고, 임계치를 초과하면 경고를 표시합니다. 사용자가 "시스템 모니터링", "시스템 상태", "서버 상태", "CPU 사용률", "메모리 현황", "디스크 용량", "네트워크 상태", "업타임", "프로세스 목록", "리소스 사용량", "느려졌는데 뭐가 문제야", "서버 헬스체크", "리소스 리포트 만들어줘" 등을 언급하거나, 컴퓨터/서버가 느리다고 불평하거나, 시스템 상태를 그래프나 리포트 파일로 받고 싶어할 때 반드시 이 skill을 사용하세요. 명시적으로 "모니터링"이라는 단어를 쓰지 않아도 시스템 성능·리소스·무거운 프로세스·서버 점검 요청이면 사용합니다.

- Skill: `kyopark2014/system-monitor` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add kyopark2014/system-monitor`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kyopark2014/system-monitor/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: kyopark2014 (https://skillmd.com/u/kyopark2014)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/kyopark2014/system-monitor

---


# System Monitor

로컬 머신(현재 코드 실행 환경)의 CPU, 메모리, 디스크, 네트워크 상태와 상위 프로세스를 확인하는 skill입니다.
`psutil`로 실제 OS 지표를 읽고, 임계치 초과 항목은 자동으로 경고합니다.

## 수집 항목

1. **시스템 기본 정보**: OS, 호스트명, 아키텍처, 부팅 시각, 업타임
2. **CPU**: 코어 수, 사용률(%), 주파수, Load Average
3. **메모리(RAM)**: 전체/사용/여유, 사용률(%), SWAP
4. **디스크**: 마운트별 전체/사용/여유, 사용률(%)
5. **네트워크**: 전체 전송률 + 인터페이스별 누적/전송률
6. **상위 프로세스**: CPU·메모리 기준 Top N

## Script Location

application working directory 기준 전체 경로를 사용하세요.

| 스크립트 | 용도 |
| --- | --- |
| `skills/system-monitor/scripts/monitor.py` | 시스템 스냅샷 수집·경고·리포트/그래프 생성 |

**IMPORTANT**: `scripts/...`로 줄이지 말고 위 전체 경로를 사용하세요.

## 빠른 사용법

`execute_code` 도구로 실행하세요.

```bash
python skills/system-monitor/scripts/monitor.py
```

기본 실행만으로 CPU/메모리/디스크/네트워크 요약, CPU·메모리 상위 프로세스 Top 5, 임계치 초과 경고가 텍스트로 출력됩니다.

| 옵션 | 설명 | 기본값 |
|---|---|---|
| `--top N` | 상위 프로세스 개수 | 5 |
| `--cpu-threshold N` | CPU 경고 임계치(%) | 90 |
| `--mem-threshold N` | 메모리 경고 임계치(%) | 90 |
| `--disk-threshold N` | 디스크 경고 임계치(%) | 90 |
| `--cpu-interval N` | CPU 측정 샘플링 시간(초) | 1.0 |
| `--net-interval N` | 네트워크 전송률 샘플링 시간(초) | 1.0 |
| `--json` | 텍스트 대신 JSON 출력 | off |
| `--report <dir>` | Markdown 리포트(.md) + 사용률 막대그래프(.png) 생성 | off |

## 사용 시나리오

**"지금 시스템 상태 어때?" / 단순 확인**
옵션 없이 기본 실행 후 텍스트 요약을 보여주세요. 리포트 파일은 필요 없습니다.

**"뭐가 이렇게 느려?" / "어떤 프로세스가 리소스를 많이 써?"**
`--top 10`으로 늘려 CPU/메모리 상위 프로세스와 ⚠️ 경고를 근거로 원인을 설명하세요.

**"리포트/파일로 만들어줘" / "그래프로 보여줘"**
`--report <ARTIFACTS_DIR>/system-report` 처럼 ARTIFACTS_DIR 하위 경로를 지정해 Markdown + PNG를 만든 뒤,
`upload_file_to_s3`로 업로드해 링크를 제공하세요.

```bash
python skills/system-monitor/scripts/monitor.py --report "$ARTIFACTS_DIR/system-report"
```

**"디스크 얼마나 남았어?" / 특정 지표만**
전체 스냅샷을 실행한 뒤 필요한 섹션만 추려 답변하면 됩니다.

**주기적/반복 모니터링**
1회성 스냅샷 도구입니다. "5분마다 감시" 요청에는 여러 번 찍어 비교하거나 OS 스케줄러(cron/launchd) 안내가 안전합니다.

## 출력 형식

- 스크립트 결과를 코드 블록으로 보여주세요.
- 결과 아래에 **요약 코멘트**를 한국어로 추가하세요:
  - 주의가 필요한 항목(임계치 초과 또는 사용률 높음)은 ⚠️ 경고
  - 정상 범위면 ✅ 정상
  - 필요 시 간단한 조치 방법 제안

## 결과 해석 시 주의점

- **CPU 사용률**은 `--cpu-interval` 동안의 평균입니다. 신뢰도 있는 값이 필요하면 최소 1초 이상을 권장합니다.
- **디스크**에 `/System/Volumes/...` 같은 macOS 시스템 볼륨이 포함될 수 있습니다. 사용자 저장 공간은 보통 `/` 또는 `/System/Volumes/Data`를 우선 설명하세요.
- **메모리** 사용률이 높아도 OS가 캐시로 여유 메모리를 쓰는 특성이 있으니, 스왑 사용률을 함께 보세요.
- 프로세스 `cpu_percent`는 논리 코어 기준이라 멀티코어에서 100%를 넘을 수 있습니다.

## 문제 해결

- `psutil`이 없으면 스크립트가 자동 설치를 시도합니다. 실패 시 `pip install psutil`을 실행하세요.
- 특정 디스크 파티션이 누락되면 권한 문제로 건너뛴 것이며 정상 동작입니다.
- `--report` 그래프에서 한글이 깨지면 한글 폰트가 없는 환경일 수 있습니다. 텍스트/JSON만 사용하세요.
- 컨테이너/가상 환경에서는 일부 하드웨어 정보가 제한될 수 있습니다.

