我想禁用核心转储生成,如何禁用它?其中一个网站每秒都会生成核心转储,并耗尽所有磁盘空间。
OS Details:
CentOs
cPanel Server
cloudlinux server
核心转储文件在 public_html 文件夹中生成。我已按照中提到的步骤进行操作http://www.cyberciti.biz/faq/linux-disable-core-dumps/(似乎不起作用)
答案1
您需要ulimit -c 0
在启动网络服务器的脚本中执行,可能/etc/init.d/apache
是 或/etc/init.d/httpd
。将其放置在靠近顶部的位置,但不要将其置于第一行。
或者,您可以更改写入核心转储的方式,以便后续核心转储覆盖先前的核心转储,而不是创建新文件。将这些行添加到/etc/sysctl.conf
:
kernel.core_uses_pid = 0
kernel.core_pattern = core
并运行sysctl -p
。现在核心转储将被简单命名core
。
您现在还可以创建一个由 root 拥有、没有写入权限的零大小文件;由于核心转储是使用进程所有者的权限编写的,因此它将无法覆盖该文件,因此没有核心转储。
答案2
检查您的 CentOS 是否已安装并运行自动错误报告工具 (ABRT)。看https://fedorahosted.org/abrt/wiki/AbrtDeployment2了解更多信息。
简而言之,如果 abrtd 守护进程正在运行,那么它就会处理核心转储文件的创建。在这种情况下,您需要通过 /etc/abrt/abrt.conf 配置 abrtd deamon。
您可以使用“BlackList”指令来排除二进制文件。