最近,服务器经常死机。

1.第一步,登录服务器用top命令查看。内存占满了。
2.第二步,观察,一共16G的内存,内存占用,每天增加6G.
3.第三步,缓存区的内存占比很大。

用命令
free -g 5 或
free -m 5
即每5秒观察内存情况。

为了永久释放该内存。我编辑了这个文件。
在/etc/sysctl.conf文件中配置:vm.drop_caches=1/2/3,然后sysctl -p生效!

然后再写了一个定时脚本。(应该是写了这个脚本就不用改上面的配置,但为了保险,我还是两种方法都用上了。如有不对,请高人留言指点)

定时(每小时)清理一下缓存区的内存。

1.释放内存脚本:
在/data/sh/下创建releasememory.sh,然后把下面的代码贴进去,保存。
该脚本作用是:查询free内存比例,少于20%就清空缓存。

vi releasememory.sh

#!/bin/bash
mem_total=`free -m | awk 'NR==2' | awk '{print $2}'`
mem_free=`free -m | awk 'NR==2' | awk '{print $4}'`
mem_used=`free -m | grep Mem | awk '{print  $3}'`echo "===========================" >> /var/log/mem.log
date >> /var/log/mem.log
echo "Memory usage | [Total:${mem_total}MB][Free:${mem_free}MB][Used:${mem_used}MB]" >> /var/log/mem.logif (($mem_used != 0)); then
mem_per=0`echo "scale=2;$mem_free/$mem_total" | bc`
DATA="$(date -d "today" +"%Y-%m-%d-%H-%M") free percent is : $mem_per"
echo $DATA >>/var/log/mem_detect.log
mem_warn=0.40
mem_now=`expr $mem_per \> $mem_warn`
if (($mem_now == 0)); then
sync
echo 3 > /proc/sys/vm/drop_caches
echo "OK" >> /var/log/mem.log
fi
fi
  1. 给脚本执行权限

#chmod +x releasememory.sh

  1. 把脚本添加到系统定时任务:

以下命令是把定时任务放到cron配置文件里,作用是每天1小时执行releasememory.sh脚本。
crontab -e
编辑:

4.重新加载cron配置和重启cron服务

#service crond reload
#service crond restart

5.查看log:

/var/log/mem.log
/var/log/mem_detect.log

当然,我也检查了一下程序代码(ThinkPHP框架的),
发现有一个定时任务是每分钟执行。
而执行的方法是一个循环更新表。即
foreach中写了对数据库的update.
虽然那个数据库中目前只有5条记录。但每执行一次就要消耗:4,896.46kb内存。一天下来有6G,可能这个也有影响的。
然后我把这段程序改写了一下,foreach中用Model而不是Db。
我们的定时任务,还有一个每5分钟同步网站代码到另一服务器(这个就没有动了,这个写很久了,之前也没引起死机)。

尽量减少可能的原因,给出解决的方案。

总之,现在这样就好了!

本文参考了:
Linux中top命令输出指标详解
https://www.jianshu.com/p/af584c5a79f2

inux下的缓存机制及清理buffer/cache/swap的方法梳理
https://www.cnblogs.com/kevingrace/p/5991604.html

linux top显示的各个符号参数意义详解
https://blog.csdn.net/junmuzi/article/details/49103429

cron定时任务+释放内存脚本释放服务器缓存
https://blog.csdn.net/eric0000000/article/details/77749087

如果您遇到同样的问题,采用以上方法还没有解决。
欢迎加入PHP技术问题群:QQ群号:292626152
提问交流,分享资源。

转载于:https://blog.51cto.com/phpervip/2155879

服务器内存占用导致死机原因相关推荐

  1. 关于服务器内存溢出导致宕机的总结

    这篇文章已经又重新修改后发布   对页游<小兵大战>服务器DM内存溢出的排错过程总结

  2. 内存占用过高,缓存不释放导致死机处理方案

    故障现象: 1.某分行部署的某台服务器内存占用过高,导致死机: 2.代码层面检查暂未发现问题,服务器硬重启持续一段时间后(3-5天)再次占满. 发现问题: 赶往现场后进行检查,当时是一切正常的,今有D ...

  3. 剪贴板占用计算机的内存,王朝知道我提了几个问题后,电脑就说内存不足,然后死机,怎么办?...

    王朝知道我提了几个问题后,电脑就说内存不足,然后死机,怎么办? 來源:互聯網  2009-05-18 15:51:16  評論 分類: 電腦/網絡 >> 硬件 參考答案: 当你在Windo ...

  4. t6服务器显示内存不足,服务器内存占用高的原因

    服务器内存占用高的原因 内容精选 换一换 当您发现云服务器的运行速度变慢或云服务器突然出现网络断开现象,则可能是云服务器的带宽和CPU使用率过高导致.如果您已经通过云监控服务创建过告警任务,当CPU或 ...

  5. 服务器出现不定时死机的原因

    我们服务器dellR10+Windows2003R2,特别说明,均正版.出现如题的问题: 1.首先排除硬件原因: 新版DSET日志抓取工具的使用说明 这个配置可以采用2.1的版本 http://sup ...

  6. 无盘服务器内存问题,无盘服务器内存占用过高

    无盘服务器内存占用过高 内容精选 换一换 Windows操作系统云服务器蓝屏,如图1所示.使用了来源不明的第三方软件.CPU占用过高导致.因为误操作或者病毒引起的系统文件.注册表损坏.操作系统在蓝屏的 ...

  7. win7系统未响应卡住_win7程序未响应经常死机原因及处理方法

    在使用win7系统的同时,也有很多用户提出了不同的系统问题,win7程序未响应经常死机也是其中的困扰之一吧,出现这种情况虽然有点麻烦,但是还是可以解决的,下面就由学习啦小编跟大家分享一下解决方法吧,希 ...

  8. 有什么软件测试硬件死机,[电脑死机原因如何检测] 电脑死机原因检测软件

    电脑死机是每个电脑都能遇到的的故障,那么死机到底是什么原因呢?下面小编教大家电脑死机的处理方法,供您参考. 电脑死机的处理方法 软件问题 由于安装的程序太多: 程序在运行的时候占用资源太多,造成资源紧 ...

  9. 看视频导致死机只能强制重启电脑吗

    随着互联网的发展,人们越来越多地使用电脑观看视频.然而,由于各种原因,看视频时出现死机现象也逐渐成为了一种常见问题. 看视频死机通常会出现在使用电脑或移动设备观看视频时,包括在线视频.本地视频等.这种 ...

最新文章

  1. ARKIT/ARCore对比分析(二)
  2. 爬取某东600多本书籍,用数据帮你分析哪些Python书籍值得选择(上)
  3. 数据科学竞赛-自然语言处理赛流程
  4. oauth2和jwt_使用具有OAuth2的Web应用程序和JWT的使用来调用API – WSO2 API Manager
  5. sscanf用法详解-hdu2072
  6. 前端学习(3328):闭包的形式4
  7. 小程序block标签配合if和else 和 动态修改标题栏
  8. 按顺序取html中多个输入框的值,JS获得多个同name的input输入框的值的实现方法
  9. 一个屌丝程序猿的人生(四十九)
  10. php车牌输入,微信小程序车牌号码模拟键盘输入功能的实现代码
  11. 麦克风阵列语音增强(二)
  12. 【python】只保留字符串中的英文字母
  13. 31岁,断奶两年,我与乳腺癌擦肩而过
  14. 5G消息、聊天机器人和小程序
  15. win10系统停止更新服务器,Win10系统关闭自动更新功能的三种最佳方法
  16. 1.8安装大华相机SDK及测试
  17. 基于SSM的美容院管理系统
  18. 直播推流拉流概念介绍
  19. DLNA介绍(包含UPnP,2011/6/20 更新)
  20. Web Service技术的SOAP实现

热门文章

  1. ios10 部分app无法连接到网络
  2. 熟悉mysql基本数据库操作系统_数据库系统原理(第四章:SQL与关系数据库基本操作 )...
  3. 上帝视角来看 2022 年前端趋势
  4. php fgets 回车,PHP fgets( )用法及代码示例
  5. 详解步进电机原理及其正反转驱动程序(51单片机)
  6. Talk预告 | 港中文博士生赖昕:SphereFormer大幅提升LiDAR点云远处识别性能
  7. 掉价最快的手机排行榜_目前掉价最快的三款华为麒麟980旗舰机,最低仅2799元...
  8. Babylonjs 最全demo集合 (内附源码)
  9. Mac 所有zsh命令都失效怎么办
  10. 复旦大学计算机专硕有宿舍吗,复旦大学专业硕士可以提供住宿吗