获取 Linux 系统的内存分页大小

一般来说linux的内存分页是4096 bytes,也有可能有的不一样。

不同语言有不同的获取方法

Python 获取系统内存分页

一般可以使用Python中的os模块来获取Linux系统的内存分页大小。

1
2
3
4
import os

page_size = os.sysconf(os.sysconf_names['SC_PAGE_SIZE'])
print("当前系统内存分页大小为:", page_size, "字节")

os.sysconf函数: 获取系统中当前的内存分页大小,返回的值以字节为单位。
SC_PAGE_SIZE: 内存分页大小的参数名称。

如果需要以不同的单位(如KB或MB)显示该值,可以将结果除以相应的数量。例如,要将内存分页大小以KB为单位显示,可以使用以下代码:

1
2
3
4
5
import os

page_size = os.sysconf(os.sysconf_names['SC_PAGE_SIZE'])
page_size_kb = page_size / 1024
print("当前系统内存分页大小为:", page_size_kb, "KB")

Bash Shell 获取 Linux 内存分页

1
getconf PAGE_SIZE

该命令将返回系统中当前的内存分页大小,以字节为单位。如果您需要以不同的单位(如KB或MB)显示该值,可以将结果除以相应的数量。例如,要将内存分页大小以KB为单位显示,可以使用以下命令:

1
expr `getconf PAGE_SIZE` / 1024

复制这条命令,可以以KB为单位,返回系统中当前的内存分页大小,一般返回为4,表示内存分页大小为4KB。

C++ 获取内存分页大小

CPP有个api是专门来获取分页大小的:

头文件:unistd.h 函数:int getpagesize() 示例代码:

1
2
3
4
5
6
7
8
#include <unistd.h>
#include <stdio.h>
int main()
{
int pageSize = getpagesize();
printf("当前系统内存分页大小为: %i bytes\n", pageSize);
return 0;
}