首頁  >  文章  >  後端開發  >  如何取得機器的memory和CPU資訊?

如何取得機器的memory和CPU資訊?

零下一度
零下一度原創
2017-06-23 16:09:201949瀏覽

最近做了一個項目,需要取得機器的CPU和memory的使用情況。花了一些時間上網搜尋了一下,自己也做了一些測試。總結下來,基本上2種方式:一種是用WMI(2種),另一種是用Performance counter。

1. Use WMI to create connection to the computer passing username and password. Once the connection is created,  query the CPU& memory by passing the query, similar as SQL。 and local PC. For example:

System.Management.ConnectionOptions Conn = new ConnectionOptions();

Conn.Username = mpusername;

       

##            string scopestring = "//" + mpserver + "/root/cimv2";

        .        Ms.Connect ();

            mos.Scope = Ms;

ObjectQuery oq = new ObjectQuery();

     ##            mos.Query = oq;

            ManagementObjectCollection moc = mos.Get();

#    ManagementObjectCollection moc = mos.Get();

# ,不能使用了,最後找到這個類別「Win32_PerfRawData_PerfOS_Memory」

ManagementObjectCollection mcr = mcp.getQueryResult("select * from Win32_ComputerSystem") each (ManagementObject mo in mcr)

            {

               if (mo["TotalPhysicalMemory"] != null)

             totalm = long.Parse(mo["TotalPhysicalMemory"].ToString());

                }#             }#   #            ManagementObjectCollection moc = mcp.getQueryResult("select * from Win32_PerfRawData_PerfOS_Memory");

        {

                string avilable = mo.GetPropertyValue("AvailableBytes").ToString();

                avilablem = long.Parse(avilable);
            }
##           }
## , such as “ Win32_Processor”, “Win32_OperatingSystem”

ManagementClass mc = new ManagementClass("Win32_OperatingSystem");

         get performance data passing the performance counter name, such as monitor.PerformanceCounterFun("Processor", "_Total", "% Processor Time"). Normally we shoud get performance counter data several times, then ue. ## 

雖然這些比較簡單,但自己還是想把它記錄下來,希望對大家能有用!

以上是如何取得機器的memory和CPU資訊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn