> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloud.vessl.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# vesslctl job

> 배치 학습 및 추론 Job을 제출하고, 모니터링하고, 관리하는 방법을 알아봐요.

`job` 명령어를 사용하면 VESSL Cloud에서 배치 컴퓨트 Job을 생성하고 관리할 수 있어요. Job은 지정된 클러스터와 리소스 설정에서 명령어를 실행하고 완료되면 종료돼요.

## list

현재 팀의 Job을 조회해요.

```bash theme={null}
vesslctl job list
```

| 플래그 | 약어 | 설명 |
| - | - | - |
| `--state` | `-s` | Job 상태로 필터링(예: `running`, `succeeded`, `failed`) |
| `--page` | | 페이지네이션 페이지 번호 |
| `--per-page` | | 페이지당 결과 수 |
| `--hide-deleted` | | 취소 및 종료된 Job 숨기기 |

**예시:**

```bash theme={null}
vesslctl job list --state running --per-page 20
```

## show

특정 Job의 상세 정보를 표시해요.

```bash theme={null}
vesslctl job show <slug>
```

| 인자 | 설명 |
| - | - |
| `slug` | Job의 고유 식별자 |

## create

새 Job을 생성하고 제출해요. 플래그를 사용해 인라인으로 설정하거나 JSON 파일로 제공할 수 있어요.

```bash theme={null}
vesslctl job create --name my-job --resource-spec <slug> --image <image> --cmd "python train.py"
```

| 플래그 | 약어 | 필수 | 설명 |
| - | - | - | - |
| `--file` | `-f` | 아니오 | JSON 설정 파일 경로(인라인 플래그 대신 사용) |
| `--name` | `-n` | 예 | Job 이름 |
| `--resource-spec` | `-r` | 예 | 리소스 스펙 슬러그(클러스터는 자동으로 결정돼요) |
| `--image` | `-i` | 예 | 사용할 컨테이너 이미지 |
| `--cmd` | | 예 | 실행할 명령어 |
| `--env` | `-e` | 아니오 | `KEY=VALUE` 형식의 환경 변수(반복 사용 가능) |
| `--object-volume` | | 아니오 | `SLUG:MOUNT_PATH` 형식으로 Object volume 마운트(반복 사용 가능) |
| `--cluster-volume` | | 아니오 | `SLUG:MOUNT_PATH` 형식으로 Cluster volume 마운트(반복 사용 가능) |
| `--image-pull-policy` | | 아니오 | 이미지 풀 정책: `Always` 또는 `IfNotPresent` |
| `--tag` | | 아니오 | 추가할 태그 값(반복 사용 가능, 미존재 시 자동 생성) |

**인라인 플래그 예시:**

```bash theme={null}
vesslctl job create \
  --name my-training-job \
  --resource-spec <spec-name> \
  --image quay.io/vessl-ai/torch:2.9.1-cuda13.0.1-py3.13-slim \
  --cmd "python train.py --epochs 10" \
  --env WANDB_API_KEY=<your-key> \
  --object-volume <volume-slug>:/data
```

<Tip>
  `vesslctl cluster list`와 `vesslctl resource-spec list`로 사용 가능한 클러스터와 GPU 스펙을 확인할 수 있어요.
</Tip>

**JSON 설정 파일 예시:**

```bash theme={null}
vesslctl job create --file job-config.json
```

<Note>
  **가격 요약과 크레딧 잔액.** `job create`는 제출 전에 리소스 스펙, 시간당 비용, 현재 크레딧 잔액, 예상 잔여 시간을 보여줘요. 잔액이 0 이하면 생성이 차단돼요. `vesslctl billing show`로 확인하거나 크레딧을 충전한 다음 다시 시도해 주세요.
</Note>

## terminate

실행 중인 Job을 종료해요.

```bash theme={null}
vesslctl job terminate <slug>
```

| 플래그 | 약어 | 설명 |
| - | - | - |
| `--yes` | `-y` | 확인 프롬프트 건너뛰기 |

## export

Job의 설정을 JSON으로 내보내요. Job 설정을 재사용하거나 버전 관리할 때 유용해요.

```bash theme={null}
vesslctl job export <slug>
```

출력을 파일로 저장하려면 파이프를 사용해 주세요:

```bash theme={null}
vesslctl job export my-job-abc123 > job-config.json
```

## logs

Job의 로그를 확인해요.

```bash theme={null}
vesslctl job logs <slug>
```

| 플래그 | 약어 | 기본값 | 설명 |
| - | - | - | - |
| `--limit` | | `100` | 반환할 로그 줄 수 |
| `--follow` | `-f` | | 실시간으로 로그를 스트리밍 |

**예시:**

```bash theme={null}
vesslctl job logs my-job-abc123 --follow
```

## metrics

Job의 메트릭(GPU, VRAM, 온도, CPU, 메모리, 네트워크, 스토리지)을 지정한 시간 범위에 대해 요약해서 보여줘요.

```bash theme={null}
vesslctl job metrics <slug>
```

| 플래그 | 약어 | 기본값 | 설명 |
| - | - | - | - |
| `--since` | | `1h` | 현재 시각부터 얼마나 과거까지 조회할지 지정해요(예: `30m`, `6h`, `7d`). `--from`과 함께 사용할 수 없어요 |
| `--from` | | | 조회 범위의 시작 시각(RFC 3339 또는 epoch 초) |
| `--to` | | 현재 시각 | 조회 범위의 종료 시각(RFC 3339 또는 epoch 초). `--from`이 필요해요 |

조회 범위는 90일보다 짧아야 해요. 기본 테이블(그리고 `-o csv`)은 메트릭 시리즈마다 한 행씩 최신값, 평균값, 최댓값과 샘플 수를 보여줘요. 이 출력은 요약이며 시계열 데이터가 아니에요. 원본 시계열이 필요하면 `-o json`을 사용하세요. `gpu`와 `cpu` 값은 0에서 1 사이의 비율이고, 바이트 메트릭(`vramUsage`, `memory`, `network`, `temporaryStorage`, `persistentStorage`)은 원시 바이트 값이며, `temperature`는 섭씨예요. 범위 안에 샘플이 없으면(예: 중지된 Job) 각 행에 `-`와 샘플 수 `0`이 표시되고 stderr에 안내 문구가 출력돼요. 이때도 명령은 정상 종료해요.

**예시:**

```bash theme={null}
# 최근 1시간 요약 테이블
vesslctl job metrics my-job-abc123

# 최근 6시간 요약 테이블
vesslctl job metrics my-job-abc123 --since 6h

# 범위를 직접 지정
vesslctl job metrics my-job-abc123 --from 2026-09-20T00:00:00Z --to 2026-09-21T00:00:00Z

# GPU 0의 최신 사용률을 퍼센트로 출력(범위 안에 GPU 샘플이 없으면 아무것도 출력하지 않아요)
vesslctl job metrics my-job-abc123 -o json | jq '(.gpu.series[0].points[-1].value // empty) * 100'
```

## tag

Job의 태그를 관리해요. `job tag attach`와 `job tag detach`에 대한 자세한 내용은 [vesslctl tag](/ko/cli/commands/tag#job-태그-명령어)를 참고하세요.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.