linux – MySQL 5.0,CentOS 5未使用的Hugepages

我已经设置了Hugepages,但我没有看到任何保留.
我错过了一步,或者出于某种特殊原因,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.

https://bugzilla.redhat.com/show_bug.cgi?id=565534

相关文章

Linux中的ARP防火墙主要用于防御ARP欺骗攻击,其效果取决于多...
insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...