如何在dotnetcore3.0项目中监控服务器状态



有没有办法从远程服务器获取CPU、RAM和硬盘状态数据,并将其显示在dotnet core 3.0应用程序中?

固定:

我在.net框架中做了一个新项目,可以用性能计数器轻松获取RAM和CPU数据如何获取C#中的CPU使用率?

从您的问题中很难看出您到底想要实现什么,但您可以在此处查看ASP.NET Core中的HealthCheck。你也可以看看这个例子。

如何使用Process class提取应用程序状态信息

您可以使用System.Diagnostics命名空间中的Process类,以便从运行应用程序进程的服务器中提取此信息。在这里您可以看到Process.cs类的实现。

对于内存,您可以简单地使用其中一个属性:

Process.GetCurrentProcess().PrivateMemorySize64;
Process.GetCurrentProcess().VirtualMemorySize64;
Process.GetCurrentProcess().WorkingSet64;

用于获取CPU使用率:

Process类中有一些属性可以使用,例如:

Process.GetCurrentProcess().TotalProcessorTime

但如果你想得到百分比,你可以自己计算。下面是一个如何做到这一点的例子。

最新更新