4

我在树莓派 2 上运行 win10。使用 C#(和通用应用程序),我想知道是否有办法获得 CPU 使用率或内存使用率?

我的猜测是“不”,因为我似乎无法访问 PerformanceCounters,但也许有一个我还不知道的 hack?

4

3 回答 3

2

您可以通过在端口 80 上向http://[yourpi]/api/resourcemanager/systemperf发送 HTTP GET 请求来访问提到的网页使用的数据。这将返回一个 JSON 块。这记录在设备上http://[yourpi]/restdocumentation.htm

在我的 IoT 设备上 P/Invoke GetNativeSystemInfo 失败。该错误表明它找不到kernel32.dll。相同的代码在我的 Win10 桌面上按预期工作。

我将询问产品组有关以编程方式访问性能数据的问题。

马克·拉德伯恩 (MSFT)

于 2015-06-11T16:50:15.167 回答
0

默认情况下,HTTP 服务器在带有 W10 的 RPi2 的 80 端口上运行。只需打开您的网络浏览器,输入您的 RPi 的 IP,登录并单击性能 ( http://raspberrypi/SystemPerformance.htm )。给你!如果您想生成性能配置文件,请转到 Perf-Tracing ( http://raspberrypi/xperf.htm )。

于 2015-05-23T00:22:54.483 回答
0

我不知道它是否有效,但你可以GetNativeSystemInfo尝试一下。

[StructLayout(LayoutKind.Sequential)]
internal struct SYSTEM_INFO
{
    public ushort wProcessorArchitecture;
    public ushort wReserved;
    public uint dwPageSize;
    public IntPtr lpMinimumApplicationAddress;
    public IntPtr lpMaximumApplicationAddress;
    public UIntPtr dwActiveProcessorMask;
    public uint dwNumberOfProcessors;
    public uint dwProcessorType;
    public uint dwAllocationGranularity;
    public ushort wProcessorLevel;
    public ushort wProcessorRevision;
}

[DllImport("kernel32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
internal static extern void GetNativeSystemInfo(ref SYSTEM_INFO lpSystemInfo);

详细信息可以在这里找到:msdn

于 2015-06-01T20:52:44.323 回答