Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di mvent
    Registrato dal
    Jun 2002
    Messaggi
    230

    [vb 2012] memoria dei processi: WorkingSet64

    Ho fatto un programmino che mi mostra i processi attivi e la memoria che usano:

    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
    il problema è questo: la proprietà WorkingSet64 mi dà un quantitativo di memoria diverso da quello che vedo nel task manager di windows.
    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?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    A quale colonna del Task Manager fai riferimento? Come si chiama esattamente?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it L'avatar di mvent
    Registrato dal
    Jun 2002
    Messaggi
    230
    Originariamente inviato da oregon
    A quale colonna del Task Manager fai riferimento? Come si chiama esattamente?
    io ho windows 8 ultimate; nella prima pagina del task manager, chiamata "processi", ho le colonne: nome processo, cpu, memoria, disco, rete.

    Io mi riferisco alla colonna "memoria", dove ci sono i valori di memoria per ogni processo.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Mah ... dipende da cosa si intende con quella colonna.

    Puoi provare tra le proprietà riguardanti la memoria elencate in

    http://msdn.microsoft.com/it-it/libr...orysize64.aspx

    Ma quanto sono diverse le informazioni che hai e che ottieni, per un processo di esempio ...?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it L'avatar di mvent
    Registrato dal
    Jun 2002
    Messaggi
    230
    Originariamente inviato da oregon
    Mah ... dipende da cosa si intende con quella colonna.

    Puoi provare tra le proprietà riguardanti la memoria elencate in

    http://msdn.microsoft.com/it-it/libr...orysize64.aspx

    Ma quanto sono diverse le informazioni che hai e che ottieni, per un processo di esempio ...?
    sono entrato in modalità debug dentro tutte le proprietà della variabile in cui passano dentro tutti i processi. praticamente ci sono circa 10 proprietà che indicano valori di memoria ma nessuno corrisponde con quello visualizzato dal task manager.
    Boh...
    forse quello che visualizza il task manager è dato dalla somma/differenza/media tra più valori.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ti ripeto ... facci un esempio pratico dei valori trovati per un processo ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it L'avatar di mvent
    Registrato dal
    Jun 2002
    Messaggi
    230
    Originariamente inviato da oregon
    Ti ripeto ... facci un esempio pratico dei valori trovati per un processo ...
    Ad esempio: processo FireFox.exe (ho controllato, c'era solo un processo relativo a FireFox).

    nello stesso istante:

    - il task manager di Windows mi dice che il processo FireFox occupa una memoria pari a 62.100 KB.

    - questi invece sono i valori restituiti dalle proprietà nel mio programma in VB2012, in riferimento allo stesso processo FireFox.exe:
    .maxworkset = 1.413.120
    .minworkset = 204.800

    .NonpagedSystemMemorySize = 41.888
    .NonpagedSystemMemorySize64 = 41.888

    .PagedMemorySize = 96.563.200
    .PagedMemorySize64 = 96.563.200

    .PagedSystemMemorySize = 278.396
    .PagedSystemMemorySize64 = 278.396

    .PeakPagedMemorySize = 132.628.400
    .PeakPagedMemorySize64 = 132.628.400

    .PeakVirtualMemorySize = 329.023.100
    .PeakVirtualMemorySize64 = 329.023.100

    .PeakWorkingSet = 157.184.000
    .PeakWorkingSet64 = 157.184.000

    .PrivateMemorySize = 96.563.200
    .PrivateMemorySize64 = 96.563.200

    .VirtualMemorySize = 297.168.896
    .VirtualMemorySize64 = 297.168.896

    .WorkingSet = 125.902.848
    .WorkingSet64 = 125.902.848

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.