Sau khi dành một chút thời gian để đọc qua một vài chủ đề khác nhau có vẻ khá phức tạp, tôi đã nghĩ ra điều này. Tôi cần nó cho một máy 8 lõi, nơi tôi muốn theo dõi máy chủ SQL. Đối với mã bên dưới, sau đó tôi chuyển vào "sqlservr" dưới dạng appName.
private static void RunTest(string appName)
{
bool done = false;
PerformanceCounter total_cpu = new PerformanceCounter("Process", "% Processor Time", "_Total");
PerformanceCounter process_cpu = new PerformanceCounter("Process", "% Processor Time", appName);
while (!done)
{
float t = total_cpu.NextValue();
float p = process_cpu.NextValue();
Console.WriteLine(String.Format("_Total = {0} App = {1} {2}%\n", t, p, p / t * 100));
System.Threading.Thread.Sleep(1000);
}
}
Nó dường như đo chính xác% CPU đang được SQL sử dụng trên máy chủ 8 lõi của tôi.