zoukankan      html  css  js  c++  java
  • ecs云服务器 mysql经常自动停止挂掉重启问题分析

    我的ecs服务器为1g内存的配置,在部署了nginx,mysql,redis,node服务后跑起项目来,(mysql使用默认配置),每过几天便发现了经常会出现数据库自动停止挂掉,然后几分钟后重启的现象,与此同时ecs无法登陆,当然,网站也是无法访问了。

    后来联系了ecs的工单支持,他们查看了系统日志后说是内存不足,给出了增加虚拟内存的方案。

    这里是 free -m 的查看信息

    free -m
                total        used        free      shared  buff/cache   available
    Mem:            992         504          76           0         411         322
    Swap:          3023         133        2890
    

    这里是我尝试的增加虚拟内存,可以很明显的看到swap由0变成 3023,但实际应用中发现效果并不显著。
    如果想要删除虚拟内存,则使用这里

    后来通过观察内存的变化,发现以下:

                total        used        free      shared  buff/cache   available
    Mem:            992         504          76           0         411         322
    Swap:          3023         133        2890
    
                total        used        free      shared  buff/cache   available
    Mem:            992         533         303           0         155         300
    Swap:          3023         133        2890
    

    比较发现,是由于buff/cache的占比过高,导致内存Mem的free较低,使用以下方法手动清除buff/cache

        echo 1 > /proc/sys/vm/drop_caches:表示清除pagecache。
        echo 2 > /proc/sys/vm/drop_caches:表示清除回收slab分配器中的对象(包括目录项缓存和inode缓存)。slab分配器是内核中管理内存的一种机制,其中很多缓存数据实现都是用的pagecache。
        echo 3 > /proc/sys/vm/drop_caches:表示清除pagecache和slab分配器中的缓存对象。
    

    手动清除buff/cache的方法取自这里

    明朝败家子

  • 相关阅读:
    JavaScript三元运算符
    JavaScript相等运算符
    SQL 查询优化
    C# 平时碰见的问题【2】
    android 利用TrafficStats类获取本应用的流量
    android 输出.txt 文本换行问题
    【转载】input 中 type='text' 的提交问题
    Pycharm 使用 (一)
    SqlBulkCopy 插入100W条数据时 属性BatchSize的作用
    C# 平时碰见的问题【1】
  • 原文地址:https://www.cnblogs.com/zhaowinter/p/10477500.html
Copyright © 2011-2022 走看看