Ollama CLI adalah antarmuka command-line untuk menjalankan, mengelola, dan menyajikan model bahasa besar (LLM) secara lokal lewat perintah seperti ollama run, ollama pull, dan ollama ps. Semua perintah ini berkomunikasi dengan server lokal di localhost:11434 tanpa mengirim data ke cloud — kecuali Anda sengaja menjalankan model dengan suffix :cloud.
Artikel ini bukan sekadar daftar command. Anda akan paham kenapa satu perintah dipilih di atas perintah lain, di mana letak jebakan VRAM yang sering membuat orang bingung, dan bagaimana command terbaru seperti ollama launch mengubah cara developer menghubungkan LLM lokal ke coding assistant.
Apa Itu Ollama CLI dan Kenapa Bukan Sekadar “Chatbot Lokal”?
Ollama CLI sering disalahpahami sebagai aplikasi chat sederhana. Pada praktiknya, CLI ini adalah lapisan kontrol penuh atas tiga hal: model management (unduh, hapus, salin model), runtime control (kapan model dimuat ke RAM/VRAM dan kapan dilepas), dan API exposure (menyajikan model sebagai endpoint HTTP untuk aplikasi lain).
Di balik layar, setiap command CLI memanggil HTTP API ke server lokal Ollama melalui api.Client. Artinya ollama run yang Anda ketik di terminal sebenarnya request API yang sama dengan yang dipakai aplikasi pihak ketiga — bedanya hanya antarmukanya.
Mengapa ini penting secara praktis? Karena memahami arsitektur ini menjelaskan banyak perilaku yang membingungkan pemula — misalnya kenapa model tetap “nyangkut” di memori walau sesi chat sudah ditutup (dibahas di bagian eviction nanti).
Instalasi Ollama: Apa yang Berbeda di Setiap Sistem Operasi?
Instalasi Ollama berbeda perilaku default-nya per OS, dan ini sering jadi sumber miskonsepsi nomor satu.
| Sistem Operasi | Cara Install | Server Otomatis Jalan? |
|---|---|---|
| macOS | Download .app, drag ke Applications |
Ya, otomatis saat app dibuka |
| Windows | Download .exe, jalankan installer |
Ya, otomatis saat app dibuka |
| Linux | curl -fsSL https://ollama.com/install.sh | sh |
Tidak otomatis — perlu ollama serve manual atau systemd |
Kenapa Banyak Pengguna Linux Mengira Ollama “Rusak” Padahal Belum Dijalankan?
Ini adalah miskonsepsi paling umum di forum dan komentar tutorial: pengguna Linux meng-install Ollama, langsung mengetik ollama run llama3.2, lalu mendapat error koneksi — padahal servernya memang belum aktif. Di macOS dan Windows, aplikasi desktop menjalankan server di background secara otomatis. Di Linux, Anda harus menjalankan ollama serve secara manual (atau mendaftarkannya sebagai service systemd) sebelum command lain bisa bekerja.
Command Inti Ollama CLI: Mana yang Wajib Dihafal?
Berikut command yang dipakai 90% pengguna setiap hari, diambil langsung dari referensi resmi Ollama.
# Menjalankan model (otomatis unduh jika belum ada)
ollama run gemma3
# Mengunduh model tanpa langsung menjalankannya
ollama pull gemma3
# Menampilkan daftar model yang sudah terunduh
ollama ls
# Menampilkan model yang sedang aktif di memori
ollama ps
# Menghentikan model yang sedang berjalan
ollama stop gemma3
# Menghapus model dari disk
ollama rm gemma3
# Menjalankan server API secara manual
ollama serve
ollama run vs ollama pull: Kapan Harus Pakai yang Mana?
Ini pertanyaan yang sangat sering muncul di Reddit dan forum developer. Jawabannya sederhana tapi sering disalahpahami:
ollama pullhanya mengunduh model ke disk. Cocok dipakai di script setup, CI/CD, atau saat Anda ingin menyiapkan model sebelum demo tanpa menunggu download di tengah presentasi.ollama runakan mengunduh model secara otomatis jika belum ada, lalu langsung membuka sesi chat interaktif. Cocok untuk eksplorasi cepat.
Miskonsepsi umum: Banyak yang mengira ollama pull wajib dijalankan dulu sebelum ollama run. Padahal ollama run sudah menangani proses pull secara otomatis — memisahkan keduanya hanya perlu kalau Anda butuh kontrol waktu download secara eksplisit.
Bagaimana Cara Mengelola Memori dan VRAM agar Ollama Tidak “Memakan” Resource?
Ini bagian yang paling sering diabaikan tutorial lain, padahal paling sering jadi sumber komplain “laptop saya jadi lambat setelah pakai Ollama”.
Kenapa Model Masih Memenuhi VRAM Padahal Sesi Chat Sudah Selesai?
Secara default, Ollama tidak langsung melepas model dari memori setelah sesi chat selesai. Model tetap dimuat selama 5 menit (default keep-alive) untuk mempercepat respons jika ada request berikutnya. Untuk memastikan model mana yang sedang aktif memakan resource, cek dengan:
ollama ps
Output-nya menunjukkan kolom PROCESSOR yang mengindikasikan distribusi beban:
| NAME | ID | SIZE | PROCESSOR | UNTIL |
|---|---|---|---|---|
| llama3:70b | bcfb190ca3a7 | 42 GB | 100% GPU | 4 minutes from now |
100% GPU— model termuat penuh di GPU (ideal untuk performa).100% CPU— model jalan di RAM sistem, biasanya karena VRAM tidak cukup.48%/52% CPU/GPU— model terbagi, biasanya tanda VRAM Anda mendekati batas.
Cara Memaksa Model Keluar dari Memori Lebih Cepat
Jika tidak mau menunggu 5 menit, gunakan:
ollama stop gemma3
Untuk kontrol lebih granular lewat API (misalnya dari aplikasi), gunakan parameter keep_alive:
curl http://localhost:11434/api/generate -d '{"model": "llama3.2", "keep_alive": 0}'
keep_alive: 0 melepas model segera setelah respons selesai, sementara nilai negatif (-1) membuat model tetap termuat selamanya sampai dihentikan manual — berguna untuk server produksi yang menerima request terus-menerus.
Insight praktisi: Jika Anda menjalankan banyak model kecil secara bergantian (misal testing beberapa model embedding), set
OLLAMA_KEEP_ALIVE=0secara global di environment server supaya VRAM otomatis bersih setiap selesai request — daripada mengandalkanollama stopmanual yang mudah terlewat.
Modelfile: Bagaimana Cara Membuat “Versi Kustom” dari Model yang Sudah Ada?
Modelfile adalah konsep paling kuat di Ollama yang sering dilewatkan tutorial pemula. Bayangkan ini seperti Dockerfile, tapi untuk konfigurasi perilaku LLM.
FROM gemma3
SYSTEM """You are a happy cat."""
PARAMETER temperature 0.7
PARAMETER num_ctx 4096
Setelah file ini dibuat, jalankan:
ollama create -f Modelfile
Apa Bedanya Mengatur Parameter di Modelfile vs di Sesi Chat Langsung?
Banyak pengguna tidak tahu bahwa parameter runtime bisa diubah on-the-fly tanpa membuat Modelfile baru, langsung di sesi ollama run:
/set parameter num_ctx 8192
Trade-off-nya: perubahan lewat /set parameter hanya berlaku untuk sesi yang sedang berjalan dan hilang saat sesi ditutup. Modelfile, sebaliknya, menghasilkan model permanen baru yang tersimpan di ollama ls dan bisa dipanggil ulang kapan saja — cocok untuk use case yang konsisten seperti asisten coding dengan system prompt baku.
Kuantisasi: Trade-off yang Jarang Dijelaskan Secara Konkret
Ollama secara default menarik model dalam format GGUF dengan kuantisasi tertentu (umumnya 4-bit/q4_0). Ini bukan detail teknis yang bisa diabaikan — kuantisasi langsung menentukan apakah model Anda akan fit di VRAM atau terpaksa “tumpah” ke CPU.
| Kuantisasi | Ukuran Relatif vs FP16 | Dampak Kualitas |
|---|---|---|
f16 (full precision) |
100% | Kualitas tertinggi, VRAM paling besar |
q8_0 |
~50% | Penurunan kualitas hampir tidak terasa |
q4_0 |
~25% | Penurunan sedang, lebih terasa di context panjang |
Kuantisasi yang sama juga berlaku untuk K/V cache lewat environment variable OLLAMA_KV_CACHE_TYPE, yang bisa menghemat memori signifikan saat Flash Attention diaktifkan (OLLAMA_FLASH_ATTENTION=1).
Catatan teknis dari dokumentasi resmi: model dengan jumlah Grouped Query Attention (GQA) tinggi — seperti varian Qwen — cenderung lebih sensitif terhadap kuantisasi cache dibanding model dengan GQA rendah. Artinya, “resep” kuantisasi yang pas di satu model belum tentu pas di model lain; perlu eksperimen langsung.
ollama launch: Command Baru yang Belum Banyak Dibahas
Sejak Ollama v0.15 (Januari 2026), tersedia command ollama launch yang memberikan setup zero-config untuk integrasi coding assistant populer yang berjalan di atas server Ollama lokal. Sebelum command ini ada, menghubungkan agent coding seperti Claude Code atau Codex ke backend Ollama lokal berarti harus mengatur environment variable secara manual, mengarahkan tool ke endpoint API yang benar, dan memilih model yang kompatibel sendiri.
# Pilih integrasi lewat menu interaktif
ollama launch
# Langsung luncurkan integrasi tertentu
ollama launch claude
# Tentukan model spesifik
ollama launch claude --model qwen3.5
# Hanya konfigurasi tanpa langsung menjalankan
ollama launch droid --config
Integrasi yang didukung resmi mencakup OpenCode, Claude Code, Codex, VS Code, dan Droid. Untuk developer yang sudah menjalankan Ollama secara lokal dan ingin asisten coding tanpa biaya API atau tanpa mengirim kode ke cloud, ollama launch adalah jalur tercepat menuju setup itu.
Studi Kasus: Mengapa Model Berjalan 100% di CPU Padahal Punya GPU?
Skenario umum: pengguna dengan GPU 8GB VRAM menjalankan model 14B dan bingung kenapa responsnya lambat seperti berjalan di CPU murni.
Diagnosis langkah demi langkah:
- Jalankan
ollama ps— cek kolomPROCESSOR. Jika menunjukkan persentase CPU tinggi, model tidak fit di VRAM. - Cek VRAM tersedia dengan
nvidia-smi(NVIDIA) ataurocm-smi(AMD). - Bandingkan ukuran model (kolom
SIZEdiollama ps) dengan VRAM yang tersedia. - Jika model tidak fit, turunkan ke varian yang lebih kecil atau kuantisasi lebih agresif — misalnya beralih dari
qwen3:14bkeqwen3:8buntuk VRAM 8GB.
Kesalahan umum yang memperparah masalah: menjalankan beberapa model besar bersamaan tanpa menyesuaikan OLLAMA_MAX_LOADED_MODELS. Karena Ollama bisa memuat hingga 3x jumlah GPU secara default, sistem dengan satu GPU kecil bisa kelebihan beban jika tiga model besar mencoba dimuat bersamaan.
Ollama vs Alternatif Lain: Kapan CLI Ollama Bukan Pilihan Terbaik?
Ollama CLI unggul untuk kemudahan setup dan workflow harian, tapi bukan satu-satunya opsi local-LLM yang relevan.
- vLLM — lebih unggul untuk serving production skala besar dengan throughput tinggi dan batching request paralel; lebih kompleks untuk dikonfigurasi dibanding Ollama.
- LM Studio — menawarkan antarmuka grafis penuh, lebih cocok untuk pengguna yang menghindari terminal sama sekali.
- LocalAI — fokus pada kompatibilitas API yang lebih luas (termasuk image generation), bukan hanya teks.
- Docker Model Runner — relevan jika infrastruktur Anda sudah berbasis container dan ingin LLM diperlakukan sebagai service Docker biasa.
Kapan tetap pilih Ollama CLI? Saat Anda butuh eksperimen cepat lewat terminal, integrasi langsung ke coding assistant (lewat ollama launch), dan workflow scripting yang ringan tanpa overhead orkestrasi container.
Variabel Environment Penting yang Sering Terlewat
| Variabel | Fungsi | Default |
|---|---|---|
OLLAMA_HOST |
Alamat bind server | 127.0.0.1:11434 |
OLLAMA_MODELS |
Lokasi penyimpanan model | ~/.ollama/models (beda per OS) |
OLLAMA_CONTEXT_LENGTH |
Ukuran context window default | 4096 token |
OLLAMA_NUM_PARALLEL |
Jumlah request paralel per model | 1 |
OLLAMA_MAX_LOADED_MODELS |
Maksimum model dimuat bersamaan | 3x jumlah GPU |
OLLAMA_KEEP_ALIVE |
Durasi model tetap di memori | 5 menit |
Catatan lokasi model per OS (sering disalahartikan sebagai satu path universal di tutorial lain):
- macOS:
~/.ollama/models - Linux:
/usr/share/ollama/.ollama/models - Windows:
C:\Users\%username%\.ollama\models
Troubleshooting: Masalah yang Paling Sering Dialami Pengguna Baru
- Server tidak merespons di Linux — jalankan
ollama servemanual atau pastikan service systemd aktif (systemctl status ollama). - Model selalu jalan di CPU — periksa apakah ukuran model melebihi VRAM yang tersedia; turunkan kuantisasi atau ukuran model.
- Ingin akses Ollama dari device lain di jaringan — ubah
OLLAMA_HOSTmenjadi0.0.0.0:11434, lalu restart service. - Download model lambat di balik proxy — gunakan
HTTPS_PROXY, hindari mengaturHTTP_PROXYkarena Ollama hanya menarik model lewat HTTPS dan setting ini bisa mengganggu koneksi client. - Browser extension tidak bisa mengakses Ollama — tambahkan origin lewat
OLLAMA_ORIGINS, termasuk pattern sepertichrome-extension://*jika diperlukan.
Limitasi yang perlu diakui: command dan flag di Ollama berubah cukup cepat — ollama launch sendiri baru ada sejak v0.15. Selalu cross-check dengan ollama --help atau dokumentasi resmi di docs.ollama.com sebelum mengandalkan command versi lama di environment produksi.
FAQ
1. Apa perbedaan ollama run dan ollama serve?
ollama run membuka sesi chat interaktif dengan satu model (otomatis mengunduh jika belum ada). ollama serve menjalankan server API di background tanpa sesi chat, dipakai saat Ollama harus diakses dari aplikasi lain lewat HTTP.
2. Bagaimana cara mengetahui model apa saja yang sedang aktif di memori?
Jalankan ollama ps. Output menampilkan nama model, ukuran, kolom PROCESSOR (persentase CPU/GPU), dan waktu sebelum model otomatis dilepas dari memori.
3. Berapa lama model tetap tersimpan di RAM/VRAM setelah dipakai?
Default-nya 5 menit sejak request terakhir. Durasi ini bisa diubah lewat environment variable OLLAMA_KEEP_ALIVE atau parameter keep_alive di API.
4. Kenapa model Ollama saya berjalan di CPU bukan GPU?
Karena ukuran model (setelah kuantisasi) lebih besar dari VRAM yang tersedia. Cek dengan ollama ps pada kolom PROCESSOR; jika di bawah 100% GPU, beralih ke model yang lebih kecil atau kuantisasi lebih ringan.
5. Apakah Ollama mengirim data chat saya ke server Ollama? Tidak, untuk model lokal Ollama berjalan sepenuhnya di perangkat dan tidak mengirim prompt ke ollama.com. Pengecualian berlaku untuk model dengan suffix :cloud yang memang diproses di server Ollama Cloud.
6. Apa itu ollama launch dan kapan dipakai?
ollama launch adalah command sejak Ollama v0.15 untuk menghubungkan model lokal ke coding assistant seperti Claude Code, Codex, atau VS Code secara otomatis tanpa konfigurasi environment variable manual.
7. Bagaimana cara menghapus model agar tidak memakan ruang disk?
Gunakan ollama rm <nama-model>. Untuk mengecek model apa saja yang sudah terunduh beserta ukurannya, jalankan ollama ls terlebih dahulu.





