1

我在想,是否有任何可靠的方法來查看(或測量)我的應用程序的工作分配給服務器內核的程度?浮現在腦海中唯一的(非常不科學的)選項:有什麼方法可以衡量工作如何在覈心之間傳播?

  1. 「目測」的CPU圖表在任務管理器
  2. 具有應用不斷譜寫出Thread.CurrentThread.ManagedThreadId控制檯作爲工作的每一件都做

當然有更好的選擇嗎?

背景: 我的應用程序偵聽傳入數據包,執行一些內存中的工作,並將內容寫入數據庫。 我的目標平臺是具有四個內核的Windows Server計算機。我的應用程序的第一個版本顯然使用了一個核心,另外三個大多是空閒的。我使用Task.Factory.StartNew()部署了第二個版本,試圖在每次收到數據包時在其他內核之間分發工作。它現在看起來像所有核心比我的第一個應用程序中的單核心更繁忙。

+4

http://msdn.microsoft.com/en-us/library/dd537632.aspx – 2012-07-25 17:39:51

+0

@RobertHarvey - 優秀的!謝謝。如果你想發佈這個答案,我會很樂意接受它。 – 2012-07-26 13:58:25

回答

2

的併發可視化工具使您可以看到您的 多線程應用程序如何與自己互動,五金, 操作系統和計算機上的其他進程。這些視圖 提供了圖形,表格和文本數據,它們顯示程序中的線程與系統之間的時間關係爲 整體。

http://msdn.microsoft.com/en-us/library/dd537632.aspx

相關問題