mysql如何配置大页内存_mysql large-pages开启方法
MySQL启用large-pages失败主因是内核未配vm.nr_hugepages、limits.conf未设memlock、systemd覆盖ulimit或mysqld非root/CAP_IPC_LOCK权限启动需依次配置sysctl、limits、service文件并在[mysqld]段写large-pages无等号再验证pmap和INNODB STATUS。MySQL 启用 large-pages 失败的常见报错直接启动 mysqld 时看到 Failed to set up huge pages 或 Cannot allocate memory for huge pages基本是内核没配、权限不足、或 MySQL 用户没被授权访问大页。不是配置文件写对了就能跑起来。Linux 默认不启用透明大页transparent_hugepage而 MySQL large-pages 要求的是显式大页hugetlbpage两者不能混用mysqld 进程必须以 root 或有 CAP_IPC_LOCK 权限的用户启动普通 mysql 用户默认锁不住大页内存内核参数 vm.nr_hugepages 必须提前分配且值要 ≥ MySQL 预期申请量比如 2MB 页 × 1024 2GB配置 /etc/sysctl.conf 和 /etc/security/limits.conf这俩文件漏改一个large-pages 就会静默退回到普通页——不会报错但 SHOW VARIABLES LIKE large_pages 显示 ON实际没生效。在 /etc/sysctl.conf 加vm.nr_hugepages 1024按需调整单位是 2MB 页运行 sudo sysctl -p 生效再用 cat /proc/meminfo | grep Huge 确认 HugePages_Total 不为 0在 /etc/security/limits.conf 加两行mysql soft memlock unlimited 和 mysql hard memlock unlimited假设 MySQL 服务用户是 mysql重启 mysqld 前确保它由 systemd 启动时未覆盖 ulimit检查 /usr/lib/systemd/system/mysqld.service 是否含 LimitMEMLOCKinfinitymy.cnf 中开启 large-pages 的关键写法large-pages 是 mysqld 启动时一次性申请的全局行为不能动态 SET也不支持只对 buffer pool 开启。配置写错位置或加了引号就无效。 通义听悟 阿里云通义听悟是聚焦音视频内容的工作学习AI助手依托大模型帮助用户记录、整理和分析音视频内容体验用大模型做音视频笔记、整理会议记录。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2545461.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!