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 1
|
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 内存炸掉帖子里的回复。 |