Monitoraggio CPU e CORE

martedì 29 ottobre 2013 - 10.47
Tag Elenco Tags  VB.NET

willy_80 Profilo | Senior Member

Ciao a tutti, lavoro con un portatile i5 con Win7 64 sul quale ho cad 3d abbastanza pesanti da far girare, soprattutto quando devo lavorare su pezzi grossi e complessi, vorrei fare un programmino in VB.Net che mi consenta di visualizzare se i vari core sono in lavoro o in parcheggio, la loro % di utilizzo e la temperatura della cpu.
Per quanto riguarda la temp della cpu in rete ho trovato qualcosa il problema è riuscire a leggere lo stato dei core (lavoro o parcheggio) e la loro % di utilizzo.
Qualcuno sa come fare?

Vinsent Profilo | Senior Member

Puoi usare i PerformanceCounter:
http://msdn.microsoft.com/it-it/library/system.diagnostics.performancecounter(v=vs.110).aspx
Lo trovi nella casella degli strumenti.
Io ho un dual core quindi l' esempio mostra il totale e i due core. Alla form aggiungi un Timer e 3 Label:

Imports System.Diagnostics Public Class Form1 Dim PFMC_totale As New PerformanceCounter Dim PFMC_core1 As New PerformanceCounter Dim PFMC_core2 As New PerformanceCounter Private Sub Form1_Load() Handles MyBase.Load Me.TopMost = True Timer1.Interval = 1000 With PFMC_totale .CategoryName = "Processore" .CounterName = "% tempo processore" .InstanceName = "_total" End With With PFMC_core1 .CategoryName = "Processore" .CounterName = "% tempo processore" .InstanceName = "0" End With With PFMC_core2 .CategoryName = "processore" .CounterName = "% tempo processore" .InstanceName = "1" End With Timer1.Start() End Sub Private Sub Timer1_Tick() Handles Timer1.Tick Label1.Text = "Totale: " & System.Math.Round(PFMC_totale.NextValue, 0) & "%" Label2.Text = "Core 1: " & System.Math.Round(PFMC_core1.NextValue, 0) & "%" Label3.Text = "Core 2: " & System.Math.Round(PFMC_core2.NextValue, 0) & "%" End Sub End Class

Per la temperatura come hai fatto?

willy_80 Profilo | Senior Member

il mio è un i5 ho usato lo stesso principio indicizzandolo sulle varie core e funziona alla grande, ho provato a cercare in rete ma non riesco a trovare un elenco dei vari parametri che si possono inserire tra virgolette nel categoryname, counter e istance, mi sai indirizzare per cortesia?

willy_80 Profilo | Senior Member

ho caricato il controllo nella form e vedo che mi da in automatico l'elenco, grazie mille di nuovo per l'aiuto.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5