mysql老是自动停止_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的方法取自這里
總結
以上是生活随笔為你收集整理的mysql老是自动停止_ecs云服务器 mysql经常自动停止挂掉重启问题分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c均值算法的设计与实现_如何使用C链表实
- 下一篇: javaweb连接不上mysql怎么办_