广告

本站里的文章大部分经过自行整理与测试

2018年3月17日星期六

配置 HugePages 提高 Linux 性能

1) 检查

$ su
$ grep Huge /proc/meminfo

AnonHugePages:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB

从上面输出可以看到,每个页的大小为 2MB(Hugepagesize),
并且系统中目前有 0 个“大内存页”(HugePages_Total)。
这里“大内存页”的大小可以从 2MB 增加到 1GB。

2) 运行下面的脚本可以知道系统当前需要多少个巨大页

# 根据你的目前内核, 可能需要修改 hugepages.sh, 不然程序不运行
$ wget https://github.com/yomun/linux-init/raw/master/linux/hugepages.sh
$ sh hugepages.sh
Recommended setting: vm.nr_hugepages = 13

2.1) /etc/sysctl.conf 中,
写入以下这行 (以上知道需要 13 页, 为了效果更好, 加多2页),
然后输入 sysctl -p 让它生效
$ gedit /etc/sysctl.conf
vm.nr_hugepages=15

$ sysctl -p

2.2) /etc/security/limits.conf 中,写入以下2行, 然后重启
$ gedit /etc/security/limits.conf
# 15 x 2 (MB) x 1024 = 30720
soft memlock 30720
hard memlock 30720

3) 检查

# Ubuntu
$ cat /sys/kernel/mm/transparent_hugepage/enabled
always [madvise] never

# Red Hat
$ cat /sys/kernel/mm/redhat_transparent_hugepage/enabled

4) 禁用 “大内存页”

则在 /etc/grub.conf 中的 kernel 行
后面加上 transparent_hugepage=never,
然后重启系统

没有评论:

发表评论