我已经设置了Hugepages,但我没有看到任何保留.
我错过了一步,或者出于某种特殊原因,MySQL是否无法使用Hugepages?我没有创建一个hugetlbfs,虽然从我读到的,MysqL不会以这种方式调用页面.如果我错了,请告诉我,因为这将是一个微不足道的解决方案.我的几乎所有MysqL表都使用InnoDB.
我错过了一步,或者出于某种特殊原因,MySQL是否无法使用Hugepages?我没有创建一个hugetlbfs,虽然从我读到的,MysqL不会以这种方式调用页面.如果我错了,请告诉我,因为这将是一个微不足道的解决方案.我的几乎所有MysqL表都使用InnoDB.
注意:我创建了一个hugetlbfs,没有按预期更改.是否有可能重启会纠正这种情况?我不想通过这个程序,因为这是高可用性,但如果有必要,它会这样做.
这是我认为相关的配置.
/etc/sysctl.conf中
... ## Huge Pages vm.nr_hugepages = 4096 vm.hugetlb_shm_group = 27 ## SHM kernel.shmmax = 34359738368 kernel.shmall = 8589934592 ...
在/etc/security/limits.conf
... MysqL soft nofile 12888 MysqL hard nofile 51552 @MysqL soft memlock unlimited @MysqL hard memlock unlimited
/etc/my.cnf中
[MysqLd] large-pages ...
grep Huge / proc / meminfo
HugePages_Total: 4096 HugePages_Free: 4096 HugePages_Rsvd: 0 Hugepagesize: 2048 kB
id MysqL
uid=27(MysqL) gid=27(MysqL) groups=27(MysqL) context=root:system_r:unconfined_t:SystemLow-SystemHigh
tail -6 /var/log/MysqLd.log
InnoDB: HugeTLB: Warning: Failed to allocate 1342193664 bytes. errno 12 InnoDB HugeTLB: Warning: Using conventional memory pool 120808 15:49:25 InnoDB: Started; log sequence number 0 1729804158 120808 15:49:25 [Note] /usr/libexec/MysqLd: ready for connections. Version: '5.0.95' socket: '/var/lib/MysqL/MysqL.sock' port: 3306 Source distribution