Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Good

Uso de memória de um programa

Recommended Posts

Como faço para pegar a quantidade de memória e porcentagem de uso da CPU de um programa?

 

Meu código:

           Process[] localByName = Process.GetProcessesByName("notepad");

           int i = localByName.Length;


           if (localByName.Length == 0)
           {
               Console.WriteLine("Iniciando programa...");
               System.Diagnostics.Process.Start(@"C:\WINDOWS\NOTEPAD.exe");
           }
           else {                
               Console.WriteLine(localByName[0].VirtualMemorySize64.ToString());               
           }

 

 

Eu quero pegar a % de uso da cpu e o total de memória ram que o NOTEPAD está usando. Alguém ajuda?

 

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tenho 100% de certeza, mas acredito que seja assim:

 

Console.WriteLine(localByName[0].VirtualMemorySize64.ToString());
Console.WriteLine(localByName[0].PrivateMemorySize64.ToString());
Console.WriteLine("valor = " + (localByName[0].PrivateMemorySize64 * 100 / localByName[0].VirtualMemorySize64).ToString() + "%");                    
Console.Read();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim:

 

public static void Processar()
       {
           Process[] localByName = Process.GetProcessesByName("notepad");
           int i = localByName.Length;

           if (localByName.Length == 0)
           {
               Console.WriteLine("Iniciando programa...");
               System.Diagnostics.Process.Start(@"C:\WINDOWS\NOTEPAD.exe");
           }
           else
           {
               long totalBytesOfMemoryUsed = localByName[0].WorkingSet64;
               Console.WriteLine(localByName[0].VirtualMemorySize64.ToString());
               Console.WriteLine(totalBytesOfMemoryUsed.ToString());
               Console.WriteLine("valor = " + (totalBytesOfMemoryUsed * 100 / localByName[0].VirtualMemorySize64).ToString() + "%");
               Console.Read();

               Processar();
           }
       }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, ele fica aumentando a %.. mas quando chega a um valor de pico, ele fica sempre na mesma porcentagem.

 

Ex:

3%

7%

11%

15%

15%

15%

15%

15%

15%

 

 

fica assim..

 

flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

humn...mas você consegue ver no Gerenciador de tarefas se está sendo mudado drásticamente o valor da memória usada?

 

Se você abrir o programa e não fizer nada nele, vai ficar bem próximo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.