如何获得内存或在C#中使用

如何获得应用程序使用的可用RAM或内存?

您可以使用:

Process proc = Process.GetCurrentProcess(); 

获取当前stream程并使用:

 proc.PrivateMemorySize64; 

获取私有内存使用情况。 欲了解更多信息,请看这个链接 。

您可能需要检查GC.GetTotalMemory方法。

它检索当前认为由垃圾收集器分配的字节数。

System.Environment有WorkingSet 。 如果你想了解更多的细节,那么可以使用System.Diagnostics.PerformanceCounter ,但是这需要更多的努力来设置。

看这里的细节。

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

如果您将值设为0,则需要调用NextValue()两次。 然后给出CPU使用的实际值。 在这里看到更多细节。

你应该看看System.Diagnostics.Process类。

对于完整的系统,您可以添加Microsoft.VisualBasic框架作为参考;

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