yum报错[Errno 5] [Errno 12] 无法分配内存

今天想起来服务器好久没更新了,就yum update了一下,结果发现满屏的…

[Errno 5] [Errno 12] 无法分配内存

看了眼内存占用发现mysqld占用最高,剩下的内存也少得可怜,好么…我说前两天数据库咋突然挂了呢。看了眼日志

171029 20:51:37 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137756672 bytes) failed; errno 12
171029 20:51:37 InnoDB: Completed initialization of buffer pool
171029 20:51:37 InnoDB: Fatal error: cannot allocate memory for the buffer pool
171029 20:51:37 [ERROR] Plugin 'InnoDB' init function returned error.
171029 20:51:37 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
171029 20:51:37 [ERROR] mysqld: Out of memory (Needed 128917504 bytes)
171029 20:51:37 [Note] Plugin 'FEEDBACK' is disabled.
171029 20:51:37 [ERROR] Unknown/unsupported storage engine: InnoDB
171029 20:51:37 [ERROR] Aborting

171029 20:51:37 [Note] /usr/libexec/mysqld: Shutdown complete

果然,人家引擎都要不到内存了,导致mysql直接down掉。
没办法只好开启交换空间了。

解决办法

  1. 暂时关闭高内存占用的进程
  2. 开启交换空间(如何开启交换空间
  3. 土豪那就增配加内存吧