VB.Net 得到 CPU 程序的使用
VB.Net get CPU Usage of Program
是否可以在 VB.Net 中获取您 运行 自己的程序的 CPU 用法?
我想添加一个 CPU 检测,如果程序的 CPU 高于例如 10%,它会增加计时器延迟以减少 CPU。
首先声明一个性能计数器
Private CPUPerf As New PerformanceCounter()
然后初始化它以获得CPU信息
With CPUPerf
.CategoryName = "Processor"
.CounterName = "% Processor Time"
.InstanceName = "_Total"
End With
然后您可以访问该值
CPUPerf.NextValue
有关详细信息,请参阅 PerformanceCounter。
你可以使用类似这样的东西。
Process
、PerformanceCounter
和 Computer
混合了各种信息。
将这些信息放在一起,您可以通过进程获取与 SO 内存使用情况相关的信息。
此外,通过 Process
,您可以获得有关您的应用的其他信息,例如最大 cpu 使用率、使用时间等。
Using currentP As Process = Process.GetCurrentProcess
Dim bFactor As Double = 1000 / 1024
Dim cMemory As Long = New PerformanceCounter("Process", "Working Set - Private", currentP.ProcessName).RawValue
Dim sbInfo As StringBuilder = New StringBuilder
sbInfo.AppendLine("Current ProcessName : " & currentP.ProcessName)
sbInfo.AppendLine("Current WorkingSet : " & (cMemory * bFactor * 0.000001).ToString & " MB ")
sbInfo.AppendLine("In a total system PM : " & (My.Computer.Info.TotalPhysicalMemory * bFactor * 0.000001).ToString & " MB ")
sbInfo.AppendLine("Percentage of all : " & ((cMemory / My.Computer.Info.TotalPhysicalMemory) * 0.01).ToString("N6"))
'MsgBox(sbInfo.ToString)
Console.WriteLine(sbInfo.ToString)
End Using
是否可以在 VB.Net 中获取您 运行 自己的程序的 CPU 用法? 我想添加一个 CPU 检测,如果程序的 CPU 高于例如 10%,它会增加计时器延迟以减少 CPU。
首先声明一个性能计数器
Private CPUPerf As New PerformanceCounter()
然后初始化它以获得CPU信息
With CPUPerf
.CategoryName = "Processor"
.CounterName = "% Processor Time"
.InstanceName = "_Total"
End With
然后您可以访问该值
CPUPerf.NextValue
有关详细信息,请参阅 PerformanceCounter。
你可以使用类似这样的东西。
Process
、PerformanceCounter
和 Computer
混合了各种信息。
将这些信息放在一起,您可以通过进程获取与 SO 内存使用情况相关的信息。
此外,通过 Process
,您可以获得有关您的应用的其他信息,例如最大 cpu 使用率、使用时间等。
Using currentP As Process = Process.GetCurrentProcess
Dim bFactor As Double = 1000 / 1024
Dim cMemory As Long = New PerformanceCounter("Process", "Working Set - Private", currentP.ProcessName).RawValue
Dim sbInfo As StringBuilder = New StringBuilder
sbInfo.AppendLine("Current ProcessName : " & currentP.ProcessName)
sbInfo.AppendLine("Current WorkingSet : " & (cMemory * bFactor * 0.000001).ToString & " MB ")
sbInfo.AppendLine("In a total system PM : " & (My.Computer.Info.TotalPhysicalMemory * bFactor * 0.000001).ToString & " MB ")
sbInfo.AppendLine("Percentage of all : " & ((cMemory / My.Computer.Info.TotalPhysicalMemory) * 0.01).ToString("N6"))
'MsgBox(sbInfo.ToString)
Console.WriteLine(sbInfo.ToString)
End Using