您好,登錄后才能下訂單哦!
要監控C#多進程程序的CPU使用率,您可以使用.NET的System.Diagnostics.PerformanceCounter
類
首先,在項目中添加對System.Diagnostics
命名空間的引用。
創建一個方法來獲取當前進程的CPU使用率:
using System.Diagnostics;
private static float GetCurrentProcessCpuUsage()
{
var currentProcess = Process.GetCurrentProcess();
var cpuCounter = new PerformanceCounter("Process", "% Processor Time", currentProcess.ProcessName);
cpuCounter.NextValue(); // 丟棄第一次調用的結果,因為它可能不準確
System.Threading.Thread.Sleep(1000); // 等待1秒鐘以獲得更準確的結果
return cpuCounter.NextValue();
}
static void Main(string[] args)
{
while (true)
{
Console.WriteLine($"CPU Usage: {GetCurrentProcessCpuUsage()}%");
System.Threading.Thread.Sleep(1000); // 每隔1秒鐘打印一次CPU使用率
}
}
對于子進程,您需要在子進程的代碼中實現類似的邏輯。創建一個新的C#控制臺應用程序項目,并在其中添加對System.Diagnostics
命名空間的引用。然后,將上面的GetCurrentProcessCpuUsage()
方法復制到子進程的代碼中,并在子進程的主方法中調用它。
在主進程中,使用System.Diagnostics.Process
類啟動子進程,并傳遞子進程的可執行文件路徑作為參數。例如:
using System.Diagnostics;
static void Main(string[] args)
{
ProcessStartInfo startInfo = new ProcessStartInfo("子進程.exe");
Process childProcess = Process.Start(startInfo);
// ... 其他代碼,例如監控主進程和子進程的CPU使用率
}
通過這種方式,您可以監控C#多進程程序的CPU使用率。請注意,這些示例代碼僅適用于Windows操作系統。在其他操作系統上,您可能需要使用不同的方法來監控CPU使用率。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。