Start / Poradniki / Rozwiązywanie problemów / Apple
macOS
Autor: Jakub Rusinowski · Ostatnia aktualizacja: 1 września 2026
Edukator AI i prowadzący warsztaty z wdrażania lokalnych modeli LLM
minute 1: 42.6 tok/s
minute 10: 19.8 tok/s <- same model, same prompt, same machine
| Jeśli widzisz | Przyczyną jest | Przejdź do |
|---|---|---|
| Przez pierwszą minutę czy dwie jest dobrze, potem prędkość spada o połowę | Obudowa osiągnęła swój limit termiczny przy pracy ciągłej | Rozwiązanie 2: zmierz to, potem rozwiązanie 4 |
| Jest wolno od pierwszego tokenu | To nie throttling, tylko problem z rozmieszczeniem albo pamięcią | To nie ta strona; zobacz „model się ładuje, ale działa wolno” |
| Szybko na zasilaniu sieciowym, wolno na baterii | macOS ogranicza wydajność przy pracy ciągłej na baterii | Rozwiązanie 3: podłącz zasilanie i sprawdź tryb niskiego poboru |
| Twoje liczby nigdy nie zgadzały się z recenzją, którą czytałeś | Publikowane benchmarki to wyniki chwilowe z zimnej maszyny | Rozwiązanie 5: porównuj z wartościami przy pracy ciągłej, nie chwilowymi |
| MacBook Air spada znacznie mocniej niż Pro tej samej generacji | Brak wentylatora — Air nie ma jak odprowadzić ciepła przy pracy ciągłej | Rozwiązanie 4: licz się z tym i zaplanuj wokół tego |
Wzorzec jest charakterystyczny i to on odróżnia ten przypadek od zwykłego spowolnienia: pierwsze odpowiedzi są szybkie, a gdzieś między drugą a dziesiątą minutą prawdziwej pracy ten sam model na tym samym prompcie potrzebuje mniej więcej dwa razy więcej czasu.
Ciągłe wnioskowanie to niemal najcięższe stałe obciążenie, jakie da się nałożyć na Maca: GPU idzie na pełnych obrotach tak długo, jak trwa generowanie, i — w odróżnieniu od gry — nie ma tu żadnych spokojniejszych klatek. Każda obudowa ma budżet termiczny przy pracy ciągłej niższy niż ten chwilowy, a gdy krzem osiągnie docelową temperaturę, system obniża taktowania, żeby ją utrzymać. To zachowanie zaprojektowane, a nie usterka. Ile stracisz, zależy niemal wyłącznie od obudowy: MacBook Air bez wentylatora ma tylko obudowę, w którą może oddać ciepło, i dławi najmocniej oraz najwcześniej; obudowy Pro 14 i 16 cali mają prawdziwe chłodzenie i trzymają taktowania znacznie dłużej; Mac Studio albo Mac mini na biurku jest przy tym obciążeniu praktycznie niczym nieograniczony. Publikowane benchmarki to prawie zawsze wyniki chwilowe z zimnej maszyny — i dlatego recenzja, którą czytałeś, nie opisuje twojego popołudnia.
Rozstrzygającym testem jest czas, a nie bezwzględna prędkość. Uruchom ten sam prompt na początku sesji i ponownie po dziesięciu minutach ciągłego generowania, a potem porównaj zgłoszony eval rate. Spadek o mniej więcej połowę w tym oknie to throttling. Powolność obecna już od pierwszego tokenu to inny problem — rozmieszczenie albo pamięć — i należy do innej strony.
# zsh — same prompt, cold and hot
ollama run qwen3:8b "Write exactly 200 words about the sea." --verbose
# ... run continuously for ~10 minutes, then repeat the identical prompt
ollama run qwen3:8b "Write exactly 200 words about the sea." --verbosepowermetrics pokazuje, co dzieje się naprawdę, a nie jak to się odczuwa. Obserwuj pobór mocy GPU i temperaturę krzemu przez dłuższy przebieg: moc rosnąca do szczytu, a potem osiadająca na wyraźnie niższym plateau, przy temperaturze płaskiej na suficie, to throttling ujęty w jednym wykresie. Próbkuj raz na sekundę i zostaw to uruchomione przez prawdziwe zadanie, a nie przez krótki test.
# zsh — GPU power and SMC sensors, once a second
sudo powermetrics --samplers smc,gpu_power -i 1000
# Just the two lines that matter, for 60 samples
sudo powermetrics --samplers smc,gpu_power -i 1000 -n 60 \
| grep -E "GPU Power|die temperature"sudo powermetrics --samplers smc,gpu_power -i 1000 -n 10 | grep -E "GPU Power|die temperature"macOS ogranicza wydajność przy pracy ciągłej na baterii niezależnie od temperatury, więc maszyna potrafi dławić, będąc wciąż chłodną. Tryb niskiego poboru mocy (Ustawienia systemowe → Bateria) robi to samo mocniej i z założenia. Oba da się szybko wykluczyć i oba dają dokładnie ten objaw. Na zasilaniu sieciowym z wyłączonym trybem niskiego poboru mierzysz obudowę, a nie politykę zasilania.
# zsh — on AC, and is Low Power Mode on?
pmset -g batt | head -2
pmset -g | grep -i lowpowermode # 1 = enabledpmset -g batt zgłasza AC Power, a tryb niskiego poboru mocy pokazuje 0. Powtórz porównanie zimno-gorąco, żeby zobaczyć, jaka część spadku była na koncie tych ustawień.pmset -g batt | head -2 && pmset -g | grep -i lowpowermodeFizyczne i nieefektowne, a odpowiada za realną część różnicy. Trzymaj otwartą klapę — MacBook z zamkniętą klapą w pionowej podstawce traci obudowę jako drogę odprowadzania ciepła. Trzymaj go z dala od miękkich powierzchni: kołdra albo kolana izolują dokładnie te płaszczyzny, którymi maszyna oddaje ciepło, a Air nie ma żadnych innych. Podniesienie go o dwa centymetry na podstawce z przepływem powietrza pod spodem mierzalnie zmienia plateau przy pracy ciągłej na maszynach bez wentylatora.
powermetrics jest po zmianie niższe, a plateau tok/s przy pracy ciągłej — wyższe.sudo powermetrics --samplers smc -i 1000 -n 10 | grep -i "die temperature"Etykieta do tej tabeli: jest to nasza charakterystyka wyprowadzona z fizyki i ze zgłoszeń społeczności, a nie pomiary z naszego zbioru benchmarków. Nasz opublikowany zbiór zawiera niewiele wpisów z jednym kluczem sprzętowym Apple i żadnego wiersza dla obciążenia ciągłego, więc niczego tutaj nie da się uczciwie nazwać zmierzonym. Czytaj to jako oczekiwania, nie jako dane. MacBook Air (bez wentylatora): spodziewaj się największego spadku i najwcześniejszego — często już w pierwszych minutach ciągłego generowania. To dla tej obudowy normalne i nie jest usterką. MacBook Pro 14 i 16 cali: trzyma taktowania znacznie dłużej; umiarkowany spadek na długim przebiegu jest normalny. Mac Studio i Mac mini: przy tym obciążeniu praktycznie bez ograniczeń; duży spadek przy pracy ciągłej warto tu zbadać jako usterkę, a nie przyjąć do wiadomości. Czego nie należy uznawać za normalne na żadnym z nich: spadku w ciągu sekund albo takiego, który utrzymuje się po ostygnięciu i odstawieniu maszyny.
# zsh — which chassis is this?
system_profiler SPHardwareDataType | grep -E "Model Name|Chip|Memory"Jeśli twoja praca jest naprawdę ciągła — streszczanie wsadowe, długi przebieg agenta, przetwarzanie korpusu — produktywnym ruchem jest zmniejszenie obciążenia, a nie gonienie za chłodzeniem. Mniejszy model albo krótszy kontekst obniża pracę przypadającą na token, co obniża pobór mocy, co podnosi plateau, na którym osiądziesz. Model o klasę niżej, trzymający swoją prędkość przez godzinę, kończy długie zadanie szybciej niż większy, który po czterech minutach spada o połowę. Ustal, który rozmiar siedzi wygodnie na twojej maszynie, zanim uruchomisz wsad.
# zsh — compare sustained rates, not the first response
ollama run qwen3:8b "Summarise this in 100 words." --verbose
ollama run llama3.2:3b "Summarise this in 100 words." --verboseJeśli prędkość jest kiepska od pierwszego tokenu, a nie stopniowo spada, throttling nie jest wyjaśnieniem — właściwa jest strona o spowolnieniu niezależnym od systemu. Jeśli maszyna dodatkowo swapuje, to ono zdominuje każdy efekt termiczny i trzeba je naprawić najpierw.
Dołącz to, zgłaszając problem
sudo powermetrics --samplers smc,gpu_power obejmujący oba punktysystem_profiler SPHardwareDataTypeBo ciągłe wnioskowanie trzyma GPU nieprzerwanie na pełnym obciążeniu, a każda obudowa ma budżet termiczny przy pracy ciągłej niższy niż chwilowy. Gdy krzem osiągnie docelową temperaturę, taktowania spadają, żeby ją utrzymać. To zachowanie zaprojektowane, nie usterka.
Po czasie. Throttling zaczyna się szybko i psuje przez minuty; problem z konfiguracją albo pamięcią jest wolny od pierwszego tokenu. Uruchom ten sam prompt na zimno i ponownie po dziesięciu minutach ciągłej pracy, a potem porównaj eval rate.
Air nie ma wentylatora, więc jego jedyną drogą oddawania ciepła jest sama obudowa. Pro 14 albo 16 cali ma aktywne chłodzenie i przy tym samym obciążeniu trzyma taktowania znacznie dłużej. Oba działają poprawnie; różnicę robi obudowa.
Bo publikowane wartości to prawie zawsze wyniki chwilowe z zimnej maszyny, mierzone na krótkim przebiegu. Twoja prędkość przy pracy ciągłej po dziesięciu minutach realnej roboty to inna wielkość — i to ona decyduje, ile naprawdę potrwa zadanie.
Tak. macOS ogranicza wydajność przy pracy ciągłej na baterii niezależnie od temperatury, a tryb niskiego poboru mocy ogranicza ją z założenia jeszcze mocniej. Oba dają ten objaw przy wciąż chłodnej maszynie, więc wyklucz je, zanim uznasz, że chodzi o ciepło.