1
我在想,是否有任何可靠的方法來查看(或測量)我的應用程序的工作分配給服務器內核的程度?浮現在腦海中唯一的(非常不科學的)選項:有什麼方法可以衡量工作如何在覈心之間傳播?
- 「目測」的CPU圖表在任務管理器
- 具有應用不斷譜寫出
Thread.CurrentThread.ManagedThreadId
控制檯作爲工作的每一件都做
當然有更好的選擇嗎?
背景: 我的應用程序偵聽傳入數據包,執行一些內存中的工作,並將內容寫入數據庫。 我的目標平臺是具有四個內核的Windows Server計算機。我的應用程序的第一個版本顯然使用了一個核心,另外三個大多是空閒的。我使用Task.Factory.StartNew()
部署了第二個版本,試圖在每次收到數據包時在其他內核之間分發工作。它現在看起來像所有核心比我的第一個應用程序中的單核心更繁忙。
http://msdn.microsoft.com/en-us/library/dd537632.aspx – 2012-07-25 17:39:51
@RobertHarvey - 優秀的!謝謝。如果你想發佈這個答案,我會很樂意接受它。 – 2012-07-26 13:58:25