Ho fatto un programmino che mi mostra i processi attivi e la memoria che usano:
il problema è questo: la proprietà WorkingSet64 mi dà un quantitativo di memoria diverso da quello che vedo nel task manager di windows.codice:Dim ELEM As ListViewItem, PercorsoCompleto As String, ProcessiAttivi As Process() 'azzero la listview e creo le colonne lstwProcessi.Items.Clear() lstwProcessi.Columns.Clear() lstwProcessi.Columns.Add("PID", 80) lstwProcessi.Columns.Add("nome", 180) lstwProcessi.Columns.Add("ram", 150) lstwProcessi.Columns.Add("percorso", 290) ProcessiAttivi = Process.GetProcesses() 'prendo tutti i processi attivi For ContatoreProc As Integer = 0 To ProcessiAttivi.Length - 1 ELEM = lstwProcessi.Items.Add(ProcessiAttivi(ContatoreProc).Id.ToString) 'numero PID ELEM.SubItems.Add(ProcessiAttivi(ContatoreProc).ProcessName) 'nome breve del processo ELEM.SubItems.Add(ProcessiAttivi(ContatoreProc).WorkingSet64) 'ram usata PercorsoCompleto = "" Try PercorsoCompleto = ProcessiAttivi(ContatoreProc).MainModule.FileName Catch ex As Exception PercorsoCompleto = "[Accesso Negato]" Finally ELEM.SubItems.Add(PercorsoCompleto) 'percorso completo del file del processo End Try Next ContatoreProc
Ad esempio: se controllo, con lo stesso numero PID, quanta memoria assorbe il processo firefox.exe, Windows mi dice 122 MB e il mio programma 153 MB. Anche per gli altri processi il quantitativo non combacia.
Perché?
Forse che la proprietà WorkingSet64 non è quella giusta, ne serve un'altra?

Rispondi quotando