如何在 Linux 上启用大页
计算机内存以页的形式分配给进程。通常这些页面相当小,这意味着消耗大量内存的进程也会消耗大量页面。搜索大量页面可能会导致系统速度变慢,这就是为什么某些服务器可以从启用大页面中受益的原因。
大页面在数据库服务器等系统上特别有用。 MySQL 和 PostgreSQL 等进程如果启用的话可以使用大页面,并且会减轻 RAM 缓存的压力。在本教程中,我们将介绍在 Linux 系统上启用大页面的分步说明。
在本教程中您将学习:
如何查看当前配置的大页值
如何在 Linux 上启用大页面
如何在 Linux 上启用大页面的分步说明
您知道吗?
大多数现代 CPU 架构都支持更大的内存页面。 Linux 称之为大页面,BSD 称之为超级页面,Windows 称之为大页面。正如您所看到的,所有操作系统都支持增加内存页面,但它们的称呼都不同。
打开终端并运行以下命令。这将允许您查看您的内核是否支持大页面(如果您得到任何输出,则表示受支持),并且还将显示当前配置的大页面设置。
$ grep Huge /proc/meminfo
最有可能的是,您的大页面大小将配置为 2 MB,这是现代系统的标准。
一旦您知道您希望页面大小有多大,我们就可以使用以下命令来更改它。在此示例中,我们将采取保守的方法,并将页面大小更改为 100 MB。在大多数生产服务器上,您的价值可能会大得多。
$ sudo sysctl -w vm.nr_hugepages=102400
为了确保更改在未来重新启动后保持不变,我们还需要将此配置添加到
/etc/sysctl.conf
文件中。vm.nr_hugepages = 102400
使用 root 权限打开
/etc/sysctl.conf
文件并手动添加该行。重新启动以使这些更改生效。
$ reboot
再次检查系统在
/proc/meminfo
虚拟文件中分配的大页面。这次您应该会看到一些不同的值。$ grep Huge /proc/meminfo
结束语
在本教程中,您了解了如何在 Linux 系统上启用大页面。某些类型的服务器(例如数据库服务器)将受益于更大的页表。建议在将其投入生产之前彻底测试此设置,因为它可能会对系统的某些组件产生意想不到的影响。