Cron检测低可用内存

时间:2016-10-16 17:04:47

标签: cron

您好我的服务器上有内存泄漏,我发现很难跟踪,显然是支持。他们告诉我,我尝试编写一个cron来检测我的服务器内存不足但我不知道该怎么做。

我使用PHP在安装了CentOS6的VPS服务器上构建我的应用程序..

1 个答案:

答案 0 :(得分:1)

引自https://cookbook.wdt.io/memory.html

  

free 是一个标准的unix命令,用于显示已用和可用的内存。与选项-m一起使用时,它将以兆字节为单位输出值。标有" - / + buffers / cache:"的行中的最后一个值显示总可用内存。因此我们可以使用grep和awk来获取此值并将其转换为数字。

     

free -m | grep cache: | awk '{ print int($NF) }'

     

* / 5 * * * *((`free -m | grep cache:| awk' {print int($ NF)}'`> = 50))&& curl -sm 30 http://any_monitoring_url

" curl ... any_monitoring_url"在上面的例子中ping一个外部监控系统,如the one we built (wdt.io),以捕获内存泄漏,然后发送电子邮件/短信/松弛你。这一步并非绝对必要。你可以做一些像touch file_to_check_timestampecho "Low Memory!" >> file_to_check_for_low_memory_alerts这样简单的事情。问题是如果内存(或CPU或磁盘空间)被固定,您可能会点击deadlock并且计划的cron任务可能无法运行。因此,第三方监视器的价值。

另请参阅我们关于cron监控CPU以及Disk Spaceother recipes的文章,以防它们具有价值。