如何知道我的操作系统使用的页框大小?

如何知道我的操作系统使用的页框大小?

如何知道我的操作系统使用的页框大小?

这可能对我编写代码时的一些优化有用。(例如,分配适合页框的大缓冲区)。

页面框架由操作系统决定?我的是 Windows 7(但在 Google 上找不到有关它的信息。所以,也许我错了……)

答案1

如果您只是使用 Windows,则可以使用以下 C 代码片段来获取页面大小:

#include <stdio.h>
#include <windows.h>

int main(void) {
    SYSTEM_INFO si;
    GetSystemInfo(&si);

    printf("The page size for this system is %u bytes.\n", si.dwPageSize);

    return 0;
}

(从:http://en.wikipedia.org/wiki/Page_%28computer_memory%29#Windows-based_operating_systems

在 Linux 上,您可以通过从内核获取 PAGESIZE 配置参数来找到页面大小:

mtak@frisbee:~$ getconf PAGESIZE
4096

(或者您可以使用getpagesize()系统调用)。

相关内容