linux crond 的sendemail 进程导致内置模式消耗大多内存的解决办法

linux crond 的sendemail 进程导致内置模式消耗大多内存的解决办法

周赒
2022-02-28 / 0 评论 / 86 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2022年03月01日,已超过996天没有更新,若内容或图片失效,请留言反馈。

问题:

  linux crond 的运行脚本 导致 sendemail 的进程导致内置模式消耗大多cpu 如下图
图片: 问题图片

原因:

  crond在执行脚本时会将脚本输出信息以邮件的形式发送给系统用户,所以必然要调用sendmail,而sendmail又会调用postdrop发送邮件,但是如果系统的postfix服务没有正常运行,那么邮件就会发送不成功,造成sendmail、postdrop、crond进程就无法正常退出,形成大量的僵尸进程

解决办法 :

1、将 crond 服务的 MAILTO="",那就不发任何邮件。

vim /etc/crondtab

图片: 图1

vim /etc/cron.d/0hourly  

图片: tu2

crontab -e   在文件最前的 MAILTO=""

2、crontab -e 配置执行脚本的时候 设置不接受这样的邮件 在 脚本 加上 > /dev/null 2>&1
当程序在你所指定的时间执行后,系统会发一封邮件给当前的用户,显示该程序执行的内容,若是你不希望收到这样的邮件,请在每一行空一格之后加上 > /dev/null 2>&1 即可,如:
20 03 * . /etc/profile;/bin/sh /var/www/runoob/test.sh > /dev/null 2>&1

配置后的执行效果 :sy 占用的cpu 的资源明显下降

图片: 图3

1

评论 (0)

取消