zoukankan      html  css  js  c++  java
  • linux设置虚拟内存(swap)解决mysql因内存不足挂掉的故障

    mysql错误日志显示:


    InnoDB: mmap(137363456 bytes) failed; errno 12
    2016-03-01 01:38:42 13064 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
    2016-03-01 01:38:42 13064 [ERROR] Plugin 'InnoDB' init function returned error.
    2016-03-01 01:38:42 13064 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
    2016-03-01 01:38:42 13064 [ERROR] Unknown/unsupported storage engine: InnoDB
    2016-03-01 01:38:42 13064 [ERROR] Aborting

    出现这种原因一般是系统内存不足造成的,解决方法是升级系统内存或者添加swap;

    解决方法:
    1) 在 /etc/mysql/my.cnf 的 mysqld 下增加下面一句:

    innodb_buffer_pool_size = 64M
    

    还要设置一下swap分区,因为我的vps是没有swap分区的,通过fdisk -l 和 1mount 看不到swap的信息,需要手动添加一下。

    2) 添加swap分区的步骤:

    2.1) dd if=/dev/zero of=/swapfile bs=1M count=1024
    2.2) mkswap /swapfile
    2.3) swapon /swapfile
    2.4) 添加这行: /swapfile swap swap defaults 0 0 到 /etc/fstab
    

    目前已经设置了swap分区,并重启了mysql,后续观察一下看看还会不会出现吧。

  • 相关阅读:
    ZZNU 1995: cots' times
    网站后缀名都有哪些
    webstorm运行到服务器(Apache)
    window系统下node.js环境配置
    window系统安装node.js
    网站创建自定义百度地图
    响应式一级到三级导航
    H5插入视频兼容各大浏览器
    phpStudy环境安装
    jquery on和bind
  • 原文地址:https://www.cnblogs.com/mingjian/p/5230387.html
Copyright © 2011-2022 走看看