2015-10-15 33 views
0

我有一個監控進程佔用多少CPU使用的服務和報警時的過程是超過一定的閾值。如何強制進程具有高CPU

我需要測試以查看監視器正在檢測到該服務正在使用大量的CPU週期。

有什麼辦法可以強制進程顯示大量的CPU使用率而無需訪問進程上的源代碼?

我最終希望有一個測試應用程序,可以激發任何進程的CPU。

+0

您可以使用像計算素數或pi多線程算法。 –

+0

您的問題是讓任意進程顯示高CPU使用率?這不是微不足道的。您可以使用一個工具,不應力CPU雖然在http://blogs.msdn.com/b/vijaysk/archive/2012/10/27/tools-to-simulate-cpu-memory-disk-load解釋.aspx – CodeCaster

+0

剛剛創建一個假過程並監控它呢? –

回答

1

如果您使用多核處理器使用ThreadPool垃圾郵件線程。作爲處理器數量的垃圾郵件應該足以使cpu幾乎100%負載。

private static void Main() 
{ 
    for (int i = 0; i < Environment.ProcessorCount; i++) 
    { 
     ThreadPool.QueueUserWorkItem(new WaitCallback(ThreadProc)); 
    } 

    Console.ReadLine(); 
} 

static void ThreadProc(Object stateInfo) 
{ 
    while (true) 
    { 
     // do something 
    } 
}