2012-04-07 26 views
1

我想在運行Linux的多核系統上運行一些基準測試。我想爲我的基準保留一個核心。我知道我可以使用sched_setaffinity來限制我的基準測試。我怎樣才能讓關閉我的核心?換句話說,我如何將所有進程的默認關聯設置爲不包含我的核心?如何更改Linux中的默認處理器關聯?

回答

1

即使您將所有其他進程都保留爲「保留用於基準測試」的核心,請記住,您無法阻止它們將有限的內存帶寬的變量和不可預測比例消耗到多核芯片,並且您無法阻止他們對共享L2和L3緩存進行可變要求。

恕我直言,可重複的科學基準需要一臺機器本身。

+0

這是一臺專門的機器,除了我的基準測試以外什麼都沒有。但是,我對Linux不熟悉,並且對Windows非常熟悉,知道有幾十個系統進程在後臺運行,而我幾乎無法控制它。我正在儘量減少他們的影響。 – 2012-04-08 04:36:34

+1

啊我看到了;好吧,我假設你試圖在桌面上屏蔽某些資源。但個人而言,我會使用調度優先級來解決問題。只需運行您的基準測試過程,其優先級高於系統過程。請參閱http://stackoverflow.com/questions/6957687/these-days-what-are-good-reasons-for-setting-thread-affinity-rather-than-leavin,特別是我對Ariel的回答的評論。 – timday 2012-04-08 08:34:58

相關問題