Можно использовать класс PerformanceCounter от Система. Диагностика .
Инициализируют как это:
PerformanceCounter cpuCounter;
PerformanceCounter ramCounter;
cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
ramCounter = new PerformanceCounter("Memory", "Available MBytes");
Используют как это:
public string getCurrentCpuUsage(){
return cpuCounter.NextValue()+"%";
}
public string getAvailableRAM(){
return ramCounter.NextValue()+"MB";
}
Это в порядке, я получил его!Спасибо за помощь!
Вот код, чтобы сделать это:
private void button1_Click(object sender, EventArgs e)
{
selectedServer = "JS000943";
listBox1.Items.Add(GetProcessorIdleTime(selectedServer).ToString());
}
private static int GetProcessorIdleTime(string selectedServer)
{
try
{
var searcher = new
ManagementObjectSearcher
(@"\\"+ selectedServer +@"\root\CIMV2",
"SELECT * FROM Win32_PerfFormattedData_PerfOS_Processor WHERE Name=\"_Total\"");
ManagementObjectCollection collection = searcher.Get();
ManagementObject queryObj = collection.Cast<ManagementObject>().First();
return Convert.ToInt32(queryObj["PercentIdleTime"]);
}
catch (ManagementException e)
{
MessageBox.Show("An error occurred while querying for WMI data: " + e.Message);
}
return -1;
}
Можно использовать WMI для получения информации процента использования ЦП. Можно даже войти в удаленный компьютер, если у Вас есть корректные полномочия. Взгляд http://www.csharphelp.com/archives2/archive334.html для понимания то, что можно выполнить.
Также полезный могла бы быть ссылка MSDN для пространство имен Win32_Process .
См. также пример CodeProject Как К: (Почти) Все В WMI через C#.
CMS имеет его правильный, но также и если Вы используете проводник сервера в Visual Studio и игре вокруг с вкладкой счетчика производительности тогда, можно выяснить, как получить много полезных метрик.