Rozwiązywanie problemówPrzewodnik
Lokalny LLM poza VRAM? Zobacz wagi vs pamięć podręczną KV z gputaskman
Dowiedz się, co zapełnia pamięć GPU, gdy model Ollama lub llama.cpp się wywala lub zwalnia, które ustawienie zmienić i kiedy API jest prostsze.

Na tej stronie
Twój lokalny model wczytał się bez problemu wczoraj, dziś wywala się przy wczytywaniu albo pełznie, a jedyne, co zmieniłeś, to długość kontekstu. Częstym winowajcą jest pamięć podręczna KV, a darmowe narzędzie terminalowe o nazwie gputaskman może ci to pokazać, zamiast zostawiać cię z domysłami.
Typowy monitor GPU mówi ci, jak pełna jest VRAM. To jest "co", a nie "dlaczego". README gputaskman (sprawdzone 5 listopada 2026) nazywa je "htop dla tego, co jest w twoim GPU, a nie tylko tego, jak pełne jest". To wczesny, eksperymentalny projekt na licencji MIT, więc traktuj go jako poręczną soczewkę, a nie wyrok.
Co faktycznie zapełnia twoją VRAM#
Pomyśl o VRAM jak o walizce. Wchodzą do niej trzy rzeczy:
- Wagi: sam model. Stały rozmiar dla danego modelu i kwantyzacji.
- Pamięć podręczna KV: pamięć krótkotrwała modelu o twojej rozmowie. Rośnie wraz z kontekstem.
- Bufory obliczeniowe: przestrzeń robocza potrzebna środowisku uruchomieniowemu podczas pracy.
Kiedy ludzie mówią "model się nie mieści", często mają na myśli, że wagi się mieszczą, ale pamięć podręczna, o którą poprosiłeś na wierzchu, już nie. Ta różnica decyduje o rozwiązaniu i to jest dokładnie to, co zwykły monitor ukrywa.
Wybierz swój przypadek
Co widzisz?
Wybierz opcję, aby zobaczyć odpowiedź
Wywala się zaraz przy wczytywaniu
Same wagi, albo wagi plus pamięć podręczna dla twojej długości kontekstu, są większe niż wolna VRAM. Wybierz mniejszą kwantyzację lub mniejszy model, albo skróć kontekst.
Wczytuje się, potem zwalnia po zwiększeniu kontekstu
Najprawdopodobniej pamięć podręczna KV urosła i część pracy już się nie mieści w VRAM; widok procesów i podział to potwierdzą. Najpierw obniż długość kontekstu; to najtańsza dźwignia.
Działało wcześniej, teraz się wywala
Inny proces zajął VRAM: gra, przeglądarka z akceleracją sprzętową, drugi serwer modelu. Zajrzyj do widoku procesów, zanim ruszysz model.
Zainstaluj gputaskman i patrz per proces#
README wymienia trzy drogi wejścia: przenośny ZIP dla Windows, klon uruchamiany przez uv run -, albo pip w środowisku wirtualnym Python 3.11+. Platformy, jak opisuje je README:
- Windows 10/11 64-bit z GPU NVIDIA lub AMD (ZIPy x64 i ARM64 na stronie Releases);
- Linux i WSL z GPU NVIDIA (glibc 2.35+; WSL może odczytywać liczniki hosta Windows);
- macOS na Apple Silicon tylko z klonu źródeł, brak przenośnej kompilacji.
ZIPy dla Windows są niepodpisane. Pobieraj je tylko ze strony Releases oficjalnego repozytorium, github.com/shanselman/gputaskman. Kopiuj dokładne polecenia z README: projekt jest młody i opcje mogą się zmieniać.
Gdy już działa, dla tego problemu liczą się dwa widoki:
- Widok urządzenia: użycie VRAM, aktywność GPU, PCIe, temperatura, zasilanie, taktowania i wykresy historii. Dobre do pytania "czy coś skoczyło?"
- Widok procesów: lokalna pamięć GPU per proces, dostępna dla GPU pamięć RAM systemu, aktywność silnika i wykryte środowisko uruchomieniowe (CUDA, HIP, Vulkan, Direct3D, ggml, ONNX Runtime).
W widoku procesów znajdź swój serwer modelu (dla Ollama jego dołączony runner). Potem sprawdź resztę listy. Jeśli przeglądarka albo gra trzyma kilka gigabajtów, znalazłeś odpowiedź bez ruszania modelu.
Wagi, pamięć podręczna KV, bufory: skąd biorą się liczby#
Inspektor modelu pokazuje architekturę, kwantyzację i rozmiary buforów, gdy są dostępne. Jedno zastrzeżenie ma znaczenie: według README wagi, pamięć podręczna KV i bufory obliczeniowe pochodzą z logów wczytywania środowiska uruchomieniowego, gdy włączone jest kompatybilne logowanie. Dla llama.cpp uruchom własny llama-server z logowaniem (-; README mówi, że poziom 4 jest potrzebny dla rozmiarów buforów). Dla Ollama gputaskman używa server.log Ollama, jeśli jest dostępne. W przeciwnym razie są to szacunki z metadanych GGUF i rozmiaru kontekstu, przy założeniu rozmieszczenia w stylu llama.cpp. Rozliczanie KV per model w obrębie jednego procesu nie jest jeszcze obsługiwane.

Więc czytaj szacowany podział jako "mniej więcej", a podział z logów jako "to, co zgłosiło środowisko uruchomieniowe". Dla Ollama README mówi, że dołączone runnery są wykrywane, bloby GGUF są nazywane z manifestów Ollama, a server.log jest używane, gdy jest dostępne. Wsparcie LM Studio jest częściowe: modele są nazywane z jego folderu i sondowane przez jego lokalne API, ale testowano to na odpowiedziach fixture, nie end to end.
Możesz też zapisać dwa zrzuty jako JSON i porównać je poleceniem diff. To czysty sposób na odpowiedź "co się zmieniło, gdy przeszedłem z kontekstu 4K na 16K?": zrób jeden zrzut, zmień ustawienie, przeładuj, zrób drugi.
Szybkie sprawdzenie
Twój model wczytuje się, ale zwalnia po zwiększeniu długości kontekstu. Co powinieneś sprawdzić najpierw?
Pokaż odpowiedź
Odpowiedź: Pamięć podręczną KV
Wagi nie zmieniają się wraz z długością kontekstu; pamięć podręczna KV tak. Obniżenie długości kontekstu natychmiast ją zmniejsza.
Którą dźwignię przekręcić#
Odczyt podziału daje ci decyzję, nie tylko obrazek.
Wagi to duży kawałek. Przejdź na mniejszą kwantyzację lub mniejszy model. To jedyna dźwignia, która zmniejsza wagi. Jeśli chcesz matematykę pamięci za tym, zobacz Czy model 125B może działać na GPU 16 GB?
Pamięć podręczna KV to duży kawałek. Skróć kontekst. W Ollama możesz spróbować od razu w sesji:
ollama run <your-model>
>>> /set parameter num_ctx 81928192 to tylko przykładowa wartość; wybierz to, czego naprawdę potrzebuje twoje zadanie (polecenie według dokumentacji Ollama, sprawdzone 5 listopada 2026).
Jeśli później zobaczysz dziwne spowolnienie przy przetwarzaniu promptu z skwantyzowaną pamięcią podręczną w llama.cpp, ta poprawka dla pamięci podręcznej KV q5_1 to następny przystanek. A co w ogóle mieści okno kontekstu, przeczytaj Czym jest okno kontekstu?
Inny proces to duży kawałek. Zamknij go albo uruchom na zintegrowanym GPU. Nic w modelu nie musi się zmieniać.
Lista kontrolna
Zanim obwinisz model
Jeśli nie działa#
- Podział wygląda dziwnie. Sprawdź, czy to szacunek (brak kompatybilnych logów wczytywania). W llama.cpp uruchom swój llama-server z
-i przeładuj model. W Ollama gputaskman używa- log- file server. log - lv 4 server.log, jeśli istnieje; etykieta szacunku jest tam normalna. - LM Studio pokazuje mniej szczegółów. Wsparcie jest częściowe, jak wyżej.
- Brak GPU NVIDIA lub AMD. Narzędzie obejmuje tylko lokalne obciążenia GPU; obciążenia tylko CPU, tylko NPU i w chmurze są poza zakresem.
- macOS. Uruchamiaj z klonu źródeł; nie ma przenośnej kompilacji.
Kiedy hostowany model to prostsze rozwiązanie#
Powiedzmy, że potrzebujesz długiego kontekstu do jednego zadania, na przykład streszczenia dużego dokumentu, a twoje GPU mieści model tylko z krótkim. Możesz dalej dostrajać albo wyjąć VRAM z równania. Do takich zadań CheapTokens oferuje DeepSeek-V4-Flash: kontekst 380K, do 32 768 tokenów wyjściowych na odpowiedź, jedna cena o każdej porze dnia, przez API zgodne z OpenAI. GLM-5.3-Flash ma kontekst 390K i do 8 192 tokenów wyjściowych.
Wywołanie to zwykły format OpenAI (umieść klucz w zmiennej środowiskowej):
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "deepseek-ai/DeepSeek-V4-Flash-0731", "messages": [{"role": "user", "content": "Summarize this document: ..."}]}'Szczegóły konfiguracji są w dokumentacji. Reguła kciuka do decyzji: jeśli zadanie ciągle potrzebuje więcej kontekstu lub większego modelu, niż mieści twoja karta, a widok procesów pokazuje, że twoja VRAM jest już dobrze zajęta, wyślij to zadanie do API, a małe, szybkie zadania zostaw lokalnie. Uruchamiać DeepSeek lokalnie czy używać API? zagłębia się w ten kompromis.
Powiedzmy, że streszczasz 100 dużych dokumentów, każdy po 60 000 tokenów wejściowych i 1 000 tokenów wyjściowych (dobrze w granicach okna 380K). Oto ile to kosztuje dziś:
| Model | Wejście $/1M | Wyjście $/1M | Za żądanie | 100 żądań | OpenRouter, 100 żądań |
|---|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.0012 | $0.124 | $0.209 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.001 | $0.10 | $0.434 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.0032 | $0.315 | $3.78 |
60 000 tokenów wejściowych i 1000 tokenów wyjściowych na żądanie. Ceny za 1 mln tokenów są aktualne i zmieniają się wraz z naszymi taryfami; kolumna OpenRouter pokazuje ceny referencyjne dla tego samego obciążenia.
Na tych liczbach $0.001 za dokument to aktualna cena za jedno takie wywołanie, a w sumie, licząc wejście i wyjście razem, wypada poniżej OpenRouter.
Kalkulator kosztów
Twoja własna partia: zmień tokeny i żądania
Tokeny wejściowe na żądanie: 60 000 · Tokeny wyjściowe na żądanie: 1000 · Żądania dziennie: 100
| Model | Dziennie | Miesięcznie |
|---|---|---|
| GLM-5.3-Flash$0.02$0.04 | $0.124 | $3.72 |
| DeepSeek-V4-Flash$0.015$0.10 | $0.10 | $3.00 |
| MiniMax-M2.7$0.05$0.15 | $0.315 | $9.45 |



