Ollama: „model requires more system memory than is available”
Ollama odmawia uruchomienia modelu i mówi, że potrzeba więcej pamięci
Autor Jakub Rusinowski
Błąd
Error: model requires more system memory (9.2 GiB) than is available (7.6 GiB)
Kiedy się pojawia
Uruchamiasz ollama run <model>, a zamiast znaku zachęty dostajesz tę jedną linijkę i natychmiastowe wyjście. Najczęściej zdarza się to na maszynach z 8 i 16 GB, a zwłaszcza na laptopach, gdzie część RAM-u jest już zajęta.
Co się właściwie dzieje
Ollama robi przed załadowaniem szybką kontrolę: szacuje, ile pamięci zajmie model razem z kontekstem, i porównuje to z tym, co jest realnie wolne w tej chwili — a nie z całkowitą zainstalowaną pamięcią. Jeśli szacunek przekracza wolną pulę, program woli nie startować, niż zaciąć maszynę albo zostać ubitym przez OOM w połowie ładowania. Liczba w komunikacie to właśnie ten szacunek; rośnie wraz z rozmiarem modelu i długością kontekstu.
Jak to naprawić
- 1
Pobierz mniejszy tag tego samego modeluNajczęstsze rozwiązanie
Większość modeli w Ollamie publikuje kilka rozmiarów i poziomów kwantyzacji jako tagi. Jeśli
llama3.1(domyślnie 8B) jest za ciężki, prawie zawsze znajdziesz rodzeństwo:1blub:3balbo ostrzejszą kwantyzację w rodzaju:q4_0. Zejście do mniejszego tagu to najczystsze rozwiązanie i zostawia cię w tej samej rodzinie modeli. Zanim pobierzesz, sprawdź, co twoja maszyna faktycznie udźwignie — ściągniesz wtedy tylko raz.# instead of the heavy default tag: ollama run llama3.2:3b # or pick a smaller quant of the model you want: ollama run llama3.1:8b-instruct-q4_0Sprawdź, co pasuje do Twojego sprzętusprawdź, które modele Ollamy zmieszczą się w twoim RAM-ie, zanim je pobierzeszOtwórz kalkulator VRAM → - 2
Zamknij to, co zjada RAM
Kontrola dotyczy pamięci *wolnej*, więc przeglądarka z czterdziestoma kartami albo inny model wciąż siedzący w pamięci potrafią przesądzić sprawę. Zamknij oczywistych winowajców, a jeśli poprzedni model Ollamy nadal jest załadowany — najpierw go wyładuj.
ollama ps # see what is currently loaded ollama stop <model> # unload it to free memory - 3
Zmniejsz okno kontekstu
Duża alokacja kontekstu zawyża szacunek. Jeśli nie potrzebujesz ogromnego okna, ogranicz je — to potrafi sprowadzić wymaganie z powrotem poniżej twojej wolnej pamięci.
# set a smaller context for this run OLLAMA_CONTEXT_LENGTH=2048 ollama run llama3.2:3b - 4
W ostateczności dołóż swap
Na Linuksie możesz dać systemowi przestrzeń swap, żeby loader miał dokąd się przelać. Zadziała, ale gdy tylko sięgnie po dysk, zrobi się wolno — traktuj to jako prowizorkę, nie rozwiązanie. Trwała odpowiedź to wciąż model, który mieści się w prawdziwym RAM-ie.
Powiązane
Najczęściej zadawane pytania
Czy to znaczy, że mój komputer jest za słaby na lokalną AI?
Zupełnie nie. To znaczy, że akurat ten model jest za duży na twoją wolną pamięć. Są sprawne modele 1B–3B, które działają wygodnie na maszynach z 8 GB — wystarczy wybrać taki, który pasuje do twojego sprzętu.
Czy mogę zmusić Ollamę, żeby mimo wszystko uruchomiła model?
Możesz obniżyć wymaganie: mniejszy tag, mniejszy kontekst, zwolniony RAM. Nie powinieneś natomiast obchodzić samej kontroli — istnieje po to, żeby model nie został ubity w połowie ładowania i żeby maszyna się nie zawiesiła. Zamiast omijać zabezpieczenie, zmniejsz wymaganie.
Dlaczego pokazuje mniej dostępnej pamięci, niż mam RAM-u łącznie?
Komunikat porównuje z pamięcią wolną w danej chwili, a nie z zainstalowaną. System, aplikacje w tle i każdy już załadowany model zajmują część puli. Zamknięcie programów albo restart uwalnia jej więcej.