AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 415570
Accepted
J. M. Becker
J. M. Becker
Asked: 2012-08-09 07:23:05 +0800 CST2012-08-09 07:23:05 +0800 CST 2012-08-09 07:23:05 +0800 CST

Hugepages 未被 MySQL 5.0、CentOS 5 使用

  • 772

我已经设置了 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

我真的很感激任何帮助,我完全没有想法。如果我错过了更多相关的配置或诊断,请发表评论,我会将其添加到问题中。

linux
  • 2 2 个回答
  • 2072 Views

2 个回答

  • Voted
  1. Soham Chakraborty
    2012-10-06T07:08:19+08:002012-10-06T07:08:19+08:00

    你能加这一行吗

    ulimit -l unlimited 
    

    在 /etc/init.d/mysqld 中的 'prog="MySQL"' 行之后启动脚本并重新启动服务。

    这是 CentOS 5 的错误,应该在 Centos 6 中修复。

    请确认这是否适合您。

    • 1
  2. Best Answer
    Minto Joseph
    2012-10-06T07:13:38+08:002012-10-06T07:13:38+08:00

    您可以编辑/etc/init.d/mysqld,在restart mysql 下添加以下内容prog="MySQL",看看问题是否仍然存在?

    ulimit -l 无限制

    我怀疑你遇到了以下错误。

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

    • 1

相关问题

  • Linux 主机到主机迁移

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 在 RHEL4 上修改 CUPS 中的现有打印机设置

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve