【问题标题】:Get the memory usage, CPU usage, disk usage in windows 10 UWP C#获取windows 10 UWP C#中的内存使用率、CPU使用率、磁盘使用率
【发布时间】:2018-03-17 18:13:28
【问题描述】:

我有 Windows 10 UWP 应用,我想在该应用在前台或后台运行时将信息(内存使用情况、CPU 使用情况、磁盘使用情况)写入该应用的文件中。

那么,如何在 C# 中获取 windows 10 UWP 中的内存使用率、CPU 使用率、磁盘使用率?

【问题讨论】:

  • UWP app diagnostics 看起来像您要找的东西。
  • 嗨@RaymondChen,我检查了那个,我认为它正在收集其他应用程序在每个正在运行的应用程序上循环的信息。
  • 不清楚您是想要所有应用还是只想要自己的应用。本文还告诉您如何仅获取当前应用的诊断信息。
  • 我想从我的应用程序本身获取我的应用程序的信息。

标签: c# uwp windows-runtime windows-10


【解决方案1】:

我们可以使用MemoryManager 类,它提供了对应用程序内存使用信息的访问。并且我们可以使用ProcessDiagnosticInfo.CpuUsageProcessDiagnosticInfo.DiskUsage来获取当前进程的CPU使用率、磁盘使用率。

ProcessCpuUsage 类没有构造函数,它提供对进程 CPU 使用率数据的访问。而这个类只有一个GetReport 方法,它获取进程的ProcessCpuUsageReport。通过ProcessCpuUsageReport类,我们可以得到KernelTimeUserTime被进程消费。

要获得ProcessCpuUsage 对象,我们需要使用ProcessDiagnosticInfo.CpuUsage 属性。这是ProcessDiagnosticInfo 类中的属性之一。此类提供有关进程的诊断信息,例如 CPU 使用情况、磁盘使用情况、内存使用情况等。而ProcessDiagnosticInfo 类有两个静态方法:GetForCurrentProcessGetForProcesses,它们可以帮助我们获取ProcessDiagnosticInfo

但是请注意,这两种方法只能获取到你自己的应用相关的ProcessDiagnosticInfo。 GetForProcesses 方法可以返回所有正在运行的进程的ProcessDiagnosticInfo 对象列表。但这里的“所有正在运行的进程”是指同一个 App Container 中的所有正在运行的进程。

【讨论】:

    猜你喜欢
    • 2010-11-06
    • 2020-04-06
    • 1970-01-01
    • 1970-01-01
    • 2011-09-11
    • 2014-07-12
    • 2014-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多