Test: Hur Ollama använder Intel CPU-prestanda och effektiva kärnor
Ollama på Intel CPU Effektiva vs Prestandakärnor
Jag har en teori att jag vill testa - om användningen av alla kärnor på en Intel CPU skulle öka hastigheten på LLMs?
Det här plågar mig att den nya gemma3 27-bitarsmodellen (gemma3:27b, 17GB på ollama) inte passar in i min GPUs 16GB VRAM och delvis körs på CPU.
För att vara exakt
ollama ps
visar
gemma3:27b a418f5838eaf 22 GB 29%/71% CPU/GPU
Även om det inte ser så farligt ut, är det ändå lagersplittring. Den faktiska belastningen är: GPU:28%, CPU: 560%. Ja, flera kärnor används.

Och här är idén:
Vad händer om vi tvingar ollama att använda ALLA Intel CPU-kärnor - både prestandakärnor och effektiva kärnor?
OLLAMA_NUM_THREADS konfigureringsparameter
Ollama har en miljövariabel konfigureringsparameter OLLAMA_NUM_THREADS som ska berätta för ollama hur många trådar och kärnor som den ska använda.
Jag försökte begränsa det till 3 kärnor först:
sudo xed /etc/systemd/system/ollama.service
# lägg till OLLAMA_NUM_THREADS=3 som
# Environment="OLLAMA_NUM_THREADS=3"
sudo systemctl daemon-reload
sudo systemctl restart ollama
och det fungerade inte.
Ollama använde fortfarande ~560% av CPU:n när Gemma 3 27B LLM kördes.
Dåligt lycka.
num_thread Anropsalternativ
Låt oss försöka kalla
curl http://localhost:11434/api/generate -d '
{
"model": "gemma3:27b",
"prompt": "Varför är himlen blå?",
"stream": false,
"options":{
"num_thread": 8
}
}' | jq .
Resultatet:
- CPU-användning: 585%
- GPU-användning: 25%
- GPU-effekt: 67w
- Prestandaevaluering: 6,5 tokens/sec
Nu låt oss försöka dubbla kärnorna. Berätta för ollama att använda en blandning av prestandakärnor och effektiva kärnor:
curl http://localhost:11434/api/generate -d '
{
"model": "gemma3:27b",
"prompt": "Varför är himlen blå?",
"stream": false,
"options":{
"num_thread": 16
}
}' | jq .
Resultatet:
- CPU-användning: 1030%
- GPU-användning: 26%
- GPU-effekt: 70w
- Prestandaevaluering: 7,4 t/s
Bra! Prestandan ökade med ~14%!
Nu låt oss gå extremt! Alla fysiska kärnor går!
curl http://localhost:11434/api/generate -d '
{
"model": "gemma3:27b",
"prompt": "Varför är himlen blå?",
"stream": false,
"options":{
"num_thread": 20
}
}' | jq .
Resultatet:
- CPU-användning: 1250%
- GPU-användning: 10-26% (ostabilt)
- GPU-effekt: 67w
- Prestandaevaluering: 6,9 t/s
Okej. Nu ser vi en viss prestandaminskning. Låt oss försöka med 8 Prestanda + 4 effektiva:
curl http://localhost:11434/api/generate -d '
{
"model": "gemma3:27b",
"prompt": "Varför är himlen blå?",
"stream": false,
"options":{
"num_thread": 12
}
}' | jq .
Resultatet:
- CPU-användning: 801%
- GPU-användning: 27% (ostabilt)
- GPU-effekt: 70w
- Prestandaevaluering: 7,1 t/s
Här och där.
Till jämförelse - att köra Gemma 3 14b, det är mindre smart jämfört med Gemma 27b, men passar bra in i GPU VRAM.
curl http://localhost:11434/api/generate -d '
{
"model": "gemma3:12b-it-qat",
"prompt": "Varför är himlen blå?",
"stream": false
}' | jq .
Resultatet:
- CPU-användning: 106%
- GPU-användning: 94% (ostabilt)
- GPU-effekt: 225w
- Prestandaevaluering: 61,1 t/s
Det är vad vi kallar prestanda. Även om Gemma 3 27b är smartare än 14b, är det inte 10 gånger bättre!
Slutsats
Om LLM inte passar in i GPU VRAM och vissa lager flyttas över till CPU av Ollama
- Kan vi öka LLM-prestandan med 10-14% genom att ange
num_threadparameter - Prestandaminskningen på grund av flyttning är mycket större och kompenseras inte av denna ökning.
- Bättre att ha en mer kraftfull GPU med mer VRAM. RTX 3090 är bättre än RTX 5080, även om jag inte har någon av dessa…
Användbara länkar
- Hur Ollama hanterar parallella begäranden
- Flytta Ollama-modeller till en annan enhet eller mapp
- Ollama snabbguide
- Jämförelse av LLM-hastighetsprestanda
- Deepseek-r1 på Ollama
- Logisk felaktighetsdetektering med LLMs
- Distribuera en Hugo-genererad webbplats till AWS S3
- Jämförelse av LLM:s sammanfattningsförmåga
- Att skriva effektiva promptar för LLMs
- Degraderingsproblem i Intels 13:e och 14:e generationens CPU:er
- Konvertera HTML-innehåll till Markdown med LLM och Ollama
- Är Quadro RTX 5880 Ada 48GB någon bra?
- Omrankning av textdokument med Ollama och Qwen3 Embedding-modell - i Go