问题描述
所以,我陷入了一个非常奇特的垃圾邮件机器人: cron
。
每天,我都会收到以下 e-mail:
\\n
/etc/cron.daily/apt:\\nFATAL -> Failed to fork.\\n
\\n
什么会导致这个错误?我的 /etc/cron.daily/apt
与默认安装中的相同,所以它显然是别的东西。
我不关心 cron 向我发送邮件(因为它给了我很多有用的问题/数据)。我只想解决手头的问题。
最佳思路
系统内存不足吗?
您可以查看 /var/log/syslog
,看看在 /etc/cron.daily/apt
运行期间是否收到任何 OOM
(内存不足)消息。
/etc/cron.daily/apt
是在 06:25 执行的,但是 apt 脚本中有一个随机睡眠,所以可能会晚 1800 秒
命令 free -m
还可以告诉您有多少可用内存,而 vmstat 5
将能够向您显示是否有大量交换或内存移动正在进行。
如果是这种情况,您可能会考虑添加更多交换、添加更多内存,或者查找是否有任何不必要的进程正在运行,占用了您的所有内存。 (内存泄漏时重新启动)
手动运行 apt 吗?
您是否尝试过手动运行 /etc/cron.daily/apt
以查看是否还有更多警告/错误?
如果您运行的是 Ubuntu 14.04 LTS,您会在 line 425
上找到对 random_sleep
子例程的调用。在此行上添加 #
,以使其在运行前不休眠。
在 Ubuntu 12.04 LTS 上,它是 line 423
。据我所知,Ubuntu 16.04 LTS 不应该有这个文件。
以 root 身份运行 /etc/cron.daily/apt
,如下所示:
root@hostname:~# /etc/cron.daily/apt
或者像这样使用 sudo
:
username@hostname:~$ sudo /etc/cron.daily/apt
可能会出现一些有趣的错误,为您指明正确的方向,或者尝试在 /var/log/syslog
文件中查找任何可疑内容。