Como obter memory disponível ou usada em c #

Como posso obter a RAM ou memory disponível usada pelo aplicativo?

Você pode usar:

Process proc = Process.GetCurrentProcess(); 

Para obter o processo atual e usar:

 proc.PrivateMemorySize64; 

Para obter o uso de memory particular. Para mais informações, veja este link .

Você pode querer verificar o método GC.GetTotalMemory .

Ele recupera o número de bytes atualmente pensados ​​para serem alocados pelo coletor de lixo.

System.Environment tem WorkingSet . Se você quiser muitos detalhes, há o System.Diagnostics.PerformanceCounter , mas será um pouco mais difícil de configurar.

Olhe aqui para mais detalhes.

 private PerformanceCounter cpuCounter; private PerformanceCounter ramCounter; public Form1() { InitializeComponent(); InitialiseCPUCounter(); InitializeRAMCounter(); updateTimer.Start(); } private void updateTimer_Tick(object sender, EventArgs e) { this.textBox1.Text = "CPU Usage: " + Convert.ToInt32(cpuCounter.NextValue()).ToString() + "%"; this.textBox2.Text = Convert.ToInt32(ramCounter.NextValue()).ToString()+"Mb"; } private void Form1_Load(object sender, EventArgs e) { } private void InitialiseCPUCounter() { cpuCounter = new PerformanceCounter( "Processor", "% Processor Time", "_Total", true ); } private void InitializeRAMCounter() { ramCounter = new PerformanceCounter("Memory", "Available MBytes", true); } 

Se você obtiver valor como 0, precisará chamar NextValue() duas vezes. Em seguida, ele fornece o valor real do uso da CPU. Veja mais detalhes aqui .

Você deve dar uma olhada na class System.Diagnostics.Process .

Para o sistema completo, você pode adicionar o Microsoft.VisualBasic Framework como referência;

  Console.WriteLine("You have {0} bytes of RAM", new Microsoft.VisualBasic.Devices.ComputerInfo().TotalPhysicalMemory); Console.ReadLine();