如何在C#中获取当前内存页大小

Pan*_*tin 5 .net c# memory-management

我需要在不使用“Kernel32.dll”的情况下确定 C# 中的内存页大小

SYSTEM_INFO si;
GetSystemInfo(&si);
Run Code Online (Sandbox Code Playgroud)

这很重要,因为代码应该是跨平台的,我们不应该有特定于平台的代码。

是否有任何提供该数据的 .NET 类?

xan*_*tos 6

尝试Environment.SystemPageSize

获取操作系统内存页中的字节数。

需要 .NET >= 4.0

评论中甚至写道:

在 Windows 中,该值是 SYSTEM_INFO 结构中的 dwPageSize 成员。

  • @PandichieAnton-Valentin 您不使用 SYSTEM_INFO,它是一种使用它的 .NET 方法。这是实现细节。 (3认同)