net core 获取当前程序资源占用
时间: 2023-08-10 15:07:20 浏览: 44
你可以使用System.Diagnostics.Process类的实例来获取当前进程的资源占用情况。以下是一个示例代码,可以获取当前进程的CPU和内存占用情况:
```csharp
using System;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
Process currentProcess = Process.GetCurrentProcess();
Console.WriteLine($"CPU: {currentProcess.TotalProcessorTime}");
Console.WriteLine($"Memory: {currentProcess.WorkingSet64}");
}
}
```
其中,TotalProcessorTime属性获取当前进程的CPU占用时间,WorkingSet64属性获取当前进程的内存占用量。你可以根据需求选择使用这些属性中的一个或多个来获取当前程序的资源占用情况。
相关问题
.net core 获取当前程序资源占用
你可以使用System.Diagnostics.Process类的实例来获取当前进程的资源占用情况。以下是一个示例代码,可以获取当前进程的CPU和内存占用情况:
```csharp
using System;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
Process currentProcess = Process.GetCurrentProcess();
Console.WriteLine($"CPU: {currentProcess.TotalProcessorTime}");
Console.WriteLine($"Memory: {currentProcess.WorkingSet64}");
}
}
```
其中,TotalProcessorTime属性获取当前进程的CPU占用时间,WorkingSet64属性获取当前进程的内存占用量。你可以根据需求选择使用这些属性中的一个或多个来获取当前程序的资源占用情况。
net core 获取当前程序线程树
在 .NET Core 中,您可以使用以下代码获取当前程序线程树的信息:
```
using System.Threading;
void PrintThreadTree(Thread thread, string indent)
{
Console.WriteLine(indent + "Thread ID: " + thread.ManagedThreadId.ToString());
foreach (Thread childThread in thread.GetChildThreads())
{
PrintThreadTree(childThread, indent + " ");
}
}
Thread currentThread = Thread.CurrentThread;
Console.WriteLine("Current Thread ID: " + currentThread.ManagedThreadId.ToString());
Console.WriteLine("Thread Tree:");
PrintThreadTree(currentThread, "");
```
这将输出当前线程的 ID,以及当前程序中所有线程的树形结构。PrintThreadTree() 方法接收一个线程和一个缩进字符串作为参数,递归地遍历每个子线程,并输出其 ID 和缩进级别。在主程序中,我们首先获取当前线程,然后调用 PrintThreadTree() 方法来输出整个线程树。