
1 iyaozhen 2017-07-17 20:17:36 +08:00 via Android “ Fatal error: cannot allocate memory for the buffer pool ” 机器内存不足了? |
2 holyghost 2017-07-17 20:18:43 +08:00 InnoDB: Fatal error: cannot allocate memory for the buffer pool OOM MySQL |
3 edison111cry OP @iyaozhen 有可能,因为后台的任务比较占内存,并且同时被起了好多个。所以 MYSQL 在机器的内存不够时会自己挂掉(即使没有程序在连接 MYSQL 数据库)? |
4 edison111cry OP @holyghost 所以 MYSQL 在机器的内存不够时会自己挂掉(即使没有程序在连接 MYSQL 数据库)? |
5 privil 2017-07-17 20:46:59 +08:00 内存占用过高,被系统干掉了…… |
6 privil 2017-07-17 20:51:50 +08:00 |
7 lolizeppelin 2017-07-17 21:09:43 +08:00 via Android 看系统日志 是不是系统杀掉的里面会有记录 后面是 mysql 重启的日志 看样子比较像没内存 mysql 被杀掉了 为什么其他的没杀掉只杀 mysql 应该是系统策略 oom 优先杀内存占用最大的 |
8 ghostheaven 2017-07-17 21:12:11 +08:00 via Android 是 mysql 自己分配不到必要的内存,所以自己挂了吧 |
9 edison111cry OP @privil 太感谢啦 |
10 msg7086 2017-07-18 00:55:24 +08:00 InnoDB 会占用大量的 Committed Memory,所以需要一定的 Swap 提供内存分页。 也可以修改内核的 Overcommit 参数(有副作用)。 MySQL 的内存不足问题很常见的,MySQL 本身可能只吃 100M 内存,但是会申请比如说 1G 备用。 你必须保证这个「 1G 」是可用的,否则一定会被 OOM 杀掉。 更多链接可以看我在前一个 MySQL 内存炸掉帖子里的回复。 |