Mengoperasikan server GPU untuk AI: memasang dan memverifikasi driver, mengelola VRAM dan thermal, menjalankan toolchain inference seperti vLLM, serta memantau server GPU dengan benar di produksi

Selama 22 episode kita mengelola infrastruktur "klasik" — server, jaringan, storage, dan layanan. Di 2026, ada satu kelas workload yang berkembang paling cepat dan menuntut keahlian operasional baru: AI systems. Model besar butuh server dengan GPU yang kuat — dan GPU adalah hardware yang perilakunya sangat berbeda dari CPU biasa.
Mengapa episode ini penting? Karena permintaan akan "AI infrastructure engineer" naik tajam, dan System Engineer yang memahami GPU ops menjadi sangat berharga. Episode ini membekali kalian dasar operasional: driver dan CUDA, verifikasi VRAM dan thermal, toolchain inference (vLLM, TGI), serta monitoring server GPU yang benar.
GPU memiliki karakteristik yang berbeda dari CPU:
| Aspek | CPU | GPU |
|---|---|---|
| Inti | Sedikit (8-64), kuat per-inti | Ribuan inti paralel (2560+ per GPU) |
| Memori | RAM biasa (GB) | VRAM terdedikasi (GB) |
| Peran AI | Kontrol & persiapan data | Perhitungan paralel (matriks) |
| Konsumsi daya | Puluhan watt | 250-700+ watt per GPU |
| Pendinginan | Kipas biasa | Butuh airflow/immersion khusus |
Konsekuensi praktisnya: server GPU butuh daya listrik besar, pendinginan serius, dan VRAM yang dijaga seperti RAM — kehabisan VRAM = model gagal dimuat atau inference crash.
Langkah pertama mengelola server GPU: pastikan driver berjalan dan GPU terdeteksi.
lspci | grep -i nvidia
nvidia-smi+-----------------------------------------------------------------------------+
| NVIDIA-SMI 555.42.02 Driver Version: 555.42.02 CUDA Version: 12.4 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| 0 H100 NVL On | 00000000:3B:00.0 On | 0 |
|-------------------------------+----------------------+----------------------+
| 0 92% 68C P2 380W / 700W | 63562MiB / 81920MiB | 0% Default |
+-------------------------------+----------------------+----------------------+nvidia-smi adalah top-nya server GPU — membaca sekali sudah memberi gambaran: util GPU, temperatur, daya, dan sisa VRAM.
Warning
Sebelum meng-upgrade driver di server GPU: check compatibility antara driver, CUDA toolkit, dan framework (PyTorch/TensorFlow). Versi driver/CUDA yang tidak cocok adalah penyebab paling umum kegagalan di server AI — lebih sering daripada hardware. Simpan baseline versi yang sudah terbukti jalan, dan uji di staging dulu (prinsip episode 17).
sudo ubuntu-drivers devices # lihat driver yang direkomendasikan
sudo apt install -y nvidia-driver-555
sudo reboot
nvidia-smi # verifikasi setelah bootVRAM adalah batas utama inference. Pantau secara aktif:
nvidia-smi --query-gpu=memory.used,memory.total,utilization.gpu --format=csv
nvidia-smi -l 5 # ulangi tiap 5 detikGPU yang panas akan throttling (menurunkan performa demi melindungi diri) — performa menurun tanpa pesan error. Ini jebakan halus di GPU ops. Pantau suhu dan daya:
| Metrik | Nilai Wajar | Tindakan |
|---|---|---|
| Temperatur | 55-75°C | Throttling di atas 85°C |
| Daya | Di bawah TDP | Cek nvidia-smi -q -d POWER |
| Fan | Tidak 100% terus-menerus | Cek airflow rak |
Ingat: GPU server biasanya multi-GPU (4-8 unit per node). Satu node GPU bisa menarik 2-3 kW — pastikan rack dan UPS mendukungnya, dan jangan meletakkan node GPU bertumpuk tanpa airflow.
Menjalankan model besar (LLM) membutuhkan server inference khusus. vLLM adalah salah satu runtime inference paling populer — efisien memakai VRAM dan tinggi throughput.
docker run --gpus all \
-v ~/.cache/huggingface:/root/.cache/huggingface \
-p 8000:8000 \
--ipc=host \
vllm/vllm-openai:latest \
--model meta-llama/Llama-3.1-8B-Instruct \
--max-model-len 8192Verifikasi dengan OpenAI-compatible API:
curl http://localhost:8000/v1/completions \
-H "Content-Type: application/json" \
-d '{"model":"meta-llama/Llama-3.1-8B-Instruct","prompt":"Apa itu System Engineer?","max_tokens":100}'Aturan praktis pemilihan model berdasarkan VRAM (untuk 16-bit):
| Model | VRAM Kira-kira | GPU yang Cocok |
|---|---|---|
| 1-3B | 4-8 GB | RTX 4090 |
| 7-8B | 14-20 GB | A100 40G / H100 |
| 13B | 25-30 GB | A100 80G |
| 70B | 130-140 GB | 2x H100 |
Lebih dari sekedar ukuran: gunakan quantization (4-bit/8-bit) untuk mengecilkan kebutuhan VRAM, dan pertimbangkan MIG (NVIDIA Multi-Instance GPU) atau vGPU untuk membagi satu GPU ke beberapa workload kecil.
Gunakan Prometheus + DCGM exporter (NVIDIA Data Center GPU Manager) untuk memantau secara terpusat:
# Jalankan DCGM exporter sebagai container
docker run -d --name dcgm-exporter --gpus all \
-p 9400:9400 nvcr.io/nvidia/k8s/dcgm-exporter:latest
# Cek metrik (kueri dari Prometheus)
curl localhost:9400/metrics | grep -E "dcgm_gpu_utilization|dcgm_gpu_temp|dcgm_fb_used"Metrik kunci untuk alert:
# VRAM hampir penuh
dcgm_fb_used / dcgm_fb_total > 0.95
# GPU terlalu panas
dcgm_gpu_temp > 85
# GPU menganggur padahal workload ada (XID error?)
dcgm_gpu_utilization < 10Skenario lab (butuh mesin dengan GPU, atau GPU cloud seperti Lambda/runpod):
# 1. Verifikasi driver & CUDA
nvidia-smi
# 2. Cek VRAM sebelum memuat model
nvidia-smi --query-gpu=memory.free --format=csv
# 3. Jalankan inference server
docker run --gpus all -p 8000:8000 vllm/vllm-openai:latest \
--model meta-llama/Llama-3.1-8B-Instruct --max-model-len 8192
# 4. Pantau selama inference
nvidia-smi -l 5
# 5. Test endpoint
curl http://localhost:8000/v1/completions -H "Content-Type: application/json" \
-d '{"model":"meta-llama/Llama-3.1-8B-Instruct","prompt":"Halo","max_tokens":20}'Inti yang harus dibawa pulang:
nvidia-smi adalah alat pertama.Di episode 24 selanjutnya kita menyempurnakan keandalan dengan pendekatan terukur: SRE & reliability practices — SLO, error budgets, dan incident response. Sampai jumpa di episode 24!