| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- using System;
- using System.Collections.Generic;
- using System.Diagnostics;
- using System.Linq;
- using System.Text;
- using System.Threading;
- namespace Test.CpuTime
- {
- class Program
- {
- static void Main(string[] args)
- {
- UsingProcess("Marx");
- }
- //+ using System.Diagnostics
- //+ using System.Threading
- static void UsingProcess(string pname)
- {
- using (var pro = Process.GetProcessesByName(pname)[0])
- {
- //间隔时间(毫秒)
- int interval = 1000;
- //上次记录的CPU时间
- var prevCpuTime = TimeSpan.Zero;
- while (true)
- {
- //当前时间
- var curTime = pro.TotalProcessorTime;
- //间隔时间内的CPU运行时间除以逻辑CPU数量
- var value = (curTime - prevCpuTime).TotalMilliseconds / interval / Environment.ProcessorCount * 100;
- prevCpuTime = curTime;
- //输出
- Console.WriteLine($"{curTime}-{prevCpuTime}, CPU: {value} %");
- Thread.Sleep(interval);
- }
- }
- }
- }
- }
|