linux调整大页内存,Linux 系统如何进行大页面配置

Linux 系统如何进行大页面配置

3/31/2018

本文内容

在 Linux 中,物理内存是以页为单位来管理的。页的大小为 4096 字节。 1MB 的内存能划分为 256 页; 1GB 则等同于 256000 页。 CPU 中有一个内置的内存管理单元,用于存储这些页的列表,每页都有一个对应的入口。在这种情况下,内存管理单元的大小决定了服务器能使用的最大内存大小。

如果为服务器分配的内存远大于现有内存管理单元能管理的量,则会造成内存的浪费。 CentOS 6 中为解决这个问题,使用了大页面的方式。简单来说,大页面即大小为 2MB 或者 1GB 的页。 2MB 的页适用于管理 GB 级单位的内存; 1GB 的页适用于 TB 级单位的内存。

手动去管理大页面较麻烦,往往需要更改代码。为了便于系统管理员和开发人员使用, CentOS 引入了 transparent huge pages (后续简称 THP )的概念。 THP 是一个抽象层,其自动化了创建,管理和使用大页面的大多数步骤。

大页面的配置

大页面配置需要连续的内存空间,因此在开机时就分配是最可靠的方式。配置大页面的参数有:

hugepages :在内核中定义了开机启动时就分配的永久大页面的数量。默认为 0,即不分配。只有当系统有足够的连续可用页时,分配才会成功。由该参数保留的页不能用于其他用途。

hugepagesz: 在内核中定义了开机启动时分配的大页面的大小。可选值为 2MB 和 1GB 。默认是 2MB 。

default_hugepagesz:在内核中定义了开机启动时分配的大页面的默认大小。

要调整页的尺寸,必须将配置以参数格式写入到启动命令中。如

你可能感兴趣的:(linux调整大页内存)