2012-03-08 31 views
0

爲什麼只有一個核心的進程總是從一個核心遷移到另一個核心。假設這個過程非常簡單,並且有一個簡單的線程正在運行。我觀察到,OS在執行時總是將其從一個核心移動到另一個核心。爲什麼這樣做?在不斷移動這個過程的情況下,是不是有開銷?爲什麼它不在一個核心上執行並且永遠在同一個核心上執行?如果我只有一個線程運行在多核心上,爲什麼它會從一個核心轉移到另一個核心

回答

1

這個問題有很多答案,但最明顯的答案是:熱量。

+0

是否有遷移該過程的這種行爲的名稱? – Ryan 2012-03-08 11:24:28

+0

@Ryan:我不知道,但[Processor Affinity]上的維基百科頁面(http://en.wikipedia.org/wiki/Processor_affinity)可能會有幫助。如果你正在運行linux [this](http://www.cyberciti.biz/tips/setting-processor-affinity-certain-task-or-process.html)可以幫助你改變親和力。 – wintersolutions 2012-03-08 11:32:24