Good 4 Denunciar post Postado Abril 3, 2012 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
guidjos 65 Denunciar post Postado Abril 3, 2012 Isso é C#. Vou transferir o post para seção de .NET. Compartilhar este post Link para o post Compartilhar em outros sites
Rafael Mitsunaka 11 Denunciar post Postado Abril 4, 2012 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
Good 4 Denunciar post Postado Abril 4, 2012 Da sempre o mesmo valor.. acho que deveria variar algumas vezes, :S Compartilhar este post Link para o post Compartilhar em outros sites
Rafael Mitsunaka 11 Denunciar post Postado Abril 4, 2012 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
Good 4 Denunciar post Postado Abril 5, 2012 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
Rafael Mitsunaka 11 Denunciar post Postado Abril 5, 2012 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
Good 4 Denunciar post Postado Abril 10, 2012 Sim.. Fiz um teste com firefox, windows media player e bloco de notas.. ajuda? Compartilhar este post Link para o post Compartilhar em outros sites