我已经设置了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
我真的很感激任何帮助,我完全没有想法.如果我错过了任何更相关的配置或诊断,请发表评论,我会将其添加到问题中.
解决方法
你能编辑/etc/init.d/mysqld,在prog =“MySQL”下重启mysql并查看问题是否仍然存在?
ulimit -l unlimited
我怀疑你正在追踪bug.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。