用C#写一段代码输出当前程序的所占用内存大小
时间: 2024-03-11 11:49:35 浏览: 205
可以使用`System.Diagnostics.Process`类来获取当前进程的内存占用情况,下面是用C#写的一段代码:
```csharp
using System;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
Process currentProcess = Process.GetCurrentProcess();
long memoryUsed = currentProcess.PrivateMemorySize64;
Console.WriteLine("Current memory usage: {0} bytes", memoryUsed);
}
}
```
这段代码中,`Process.GetCurrentProcess()`方法返回当前正在运行的进程对象,然后通过`PrivateMemorySize64`属性获取当前进程的私有内存占用大小,单位为字节。最后将内存占用大小输出到控制台即可。
相关问题
用C#写一段代码持续监控当前程序的所占用内存大小
可以使用`System.Diagnostics.Process`类的`WorkingSet64`属性来实现持续监控当前程序的内存占用情况。下面是用C#写的一段代码:
```csharp
using System;
using System.Diagnostics;
using System.Threading;
class Program
{
static void Main(string[] args)
{
Process currentProcess = Process.GetCurrentProcess();
Console.WriteLine("Start monitoring memory usage...");
while (true)
{
long memoryUsed = currentProcess.WorkingSet64;
Console.WriteLine("Current memory usage: {0} bytes", memoryUsed);
Thread.Sleep(1000); // 等待1秒后再次获取内存占用
}
}
}
```
这段代码中,通过`Process.GetCurrentProcess()`方法获取当前进程对象,然后在一个无限循环中不断获取当前进程的内存占用情况,并输出到控制台。为了避免频繁获取内存占用情况造成的性能损耗,我们在每次获取内存占用后等待1秒钟再次获取。
用C#写一段代码持续监控当前程序的所占用内存大小,新建1000个对象再计算内存大小
好的,以下是用C#实现的代码:
```csharp
using System;
using System.Collections.Generic;
namespace MemoryMonitor
{
class Program
{
static void Main(string[] args)
{
List<object> objects = new List<object>();
for (int i = 0; i < 1000; i++)
{
objects.Add(new object());
}
while (true)
{
long memory = GC.GetTotalMemory(false);
Console.WriteLine($"Current memory usage: {memory} bytes");
System.Threading.Thread.Sleep(1000);
}
}
}
}
```
这段代码会新建一个包含1000个对象的List,然后通过GC.GetTotalMemory()方法获取当前程序所占用的内存大小,并每秒钟输出一次当前内存大小。您可以在代码中更改对象数量或输出频率,以适合您的需求。
阅读全文