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();