Maison > Article > développement back-end > Comment obtenir les informations sur la mémoire et le CPU de la machine ?
J'ai récemment travaillé sur un projet dans lequel j'avais besoin d'obtenir l'utilisation du processeur et de la mémoire de la machine. J'ai passé du temps à chercher en ligne et j'ai fait quelques tests moi-même. Pour résumer, il existe essentiellement deux manières : l’une consiste à utiliser WMI (2 types) et l’autre consiste à utiliser le compteur de performances.
1. Utilisez WMI pour créer une connexion à l'ordinateur en transmettant le nom d'utilisateur et le mot de passe. Une fois la connexion créée, interrogez le processeur et la mémoire en transmettant la requête, de la même manière que SQL. et un PC local. Par exemple :
System.Management.ConnectionOptions Conn = new ConnectionOptions();
Conn.Username = mpusername;
Conn.Password = mppwd;
string scopestring = "//" + mpserver + "/root/cimv2";
System.Management.ManagementScope Ms = new ManagementScope(scopestring);
Ms.Connect ();
mos.Scope = Ms;
ObjectQuery oq = new ObjectQuery();
oq.QueryString = "select * from Win32_Processor";
, ne peut pas être utilisé, et j'ai finalement trouvé cette classe "Win32_PerfRawData_PerfOS_Me. mory"
ManagementObjectCollection mcr = mcp.getQueryResult("select * from Win32_ComputerSystem"); 🎜>
if (Mo mory"] ! = Null){
Totalm = Long.parse (Mo ["TotalphysicalMemory"]. > ManagementObjectCollection moc = mcp.getQueryResult("select * from Win32_PerfRawData_PerfOS_Memory");foreach (ManagementObject mo in moc)
{ string avilable = mo.GetPropertyValue("AvailableBytes").ToString();
avilablem = long.Parse(avilable);
}
2. Obtenez les informations sur le processeur et la mémoire du serveur local en passant les classes WMI, telles que " Win32_Processor", "Win32_OperatingSystem"
ManagementClass mc = new ManagementClass("Win32_OperatingSystem");
ManagementObjectCollection moc = mc.GetInstances();
3. Utilisez le compteur de performances pour obtenir les données de performances transmettant le nom du compteur de performances, telles que monitor.PerformanceCounterFun("Processor", "_Total", "% Processor Time"). devrait obtenir les données du compteur de performances plusieurs fois, puis utiliser les valeurs moyennes.
Bien que celles-ci soient relativement simples, je souhaite quand même les enregistrer, j'espère qu'elles pourront être utiles à tout le monde !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!