centos /root/core.* 文件是什么?他们吃掉我的硬盘直到它满了

centos /root/core.* 文件是什么?他们吃掉我的硬盘直到它满了

我有一台 130GB 硬盘的 vps 服务器。最近,服务器崩溃了,我访问 ssh 并使用dh -h

Filesystem            Size  Used Avail Use% Mounted on
/dev/vzfs             130G  130G   0  99% /
none                  2.0G  4.0K  2.0G   1% /dev

然后用du -sh /*我找到root fold的59GB。然后du -sh /root/*,一个长列表,其中包含一些文件,例如

...
43M     /root/core.7856
59M     /root/core.7859
59M     /root/core.7862
43M     /root/core.7883
43M     /root/core.7885
43M     /root/core.7889
59M     /root/core.7892
59M     /root/core.7904
43M     /root/core.7906
59M     /root/core.7913
43M     /root/core.7915
59M     /root/core.7940
59M     /root/core.7942
43M     /root/core.7947
43M     /root/core.7951
...

我使用fileZilla最近 3 天内创建的 1204 core.* 文件访问我的服务器。

那么centos /root/core.* 文件是什么?它们是如何创建的?我可以删除它们而不损坏我的服务器吗?以及如何避免它们被再次创建?

解决问题

linux邮件系统引起的问题。我/etc/mail/trusted-usersetc/mail/submit.cf第 552 行更改了权限。然后,不再/root/core.* files创建。

答案1

这些就是所谓的核心转储。一些信号的默认处理程序除了杀死信号接收者之外,还会写出死亡时的内存内容和进程状态,以供事后分析。除非您打算剖析这些文件,否则您可以安全地删除它们。

您还可以通过将适当的资源限制设置为 来禁止创建核心转储0(这是通过将core项目设置/etc/security/limits.conf为 来完成的0)。

您应该注意,您的系统相当快地创建这些文件这一事实应该提醒您,有些事情进展得不太顺利,因为某些进程经常以非预期方式终止。这可能是由有错误(自动重生)的程序引起的,也可能是由内存缺陷等更严重的问题引起的。您可能需要查看日志文件和dmesg输出来掌握这一点。

答案2

它们是 root 用户运行时崩溃的程序的内存核心转储。除非您打算调试它们,否则可以删除它们。

答案3

核心转储是崩溃转储。file以核心文件之一作为参数的程序可能会告诉您哪个程序不断崩溃。

答案4

您可以通过以下方式防止再次创建核心文件:

ulimit -c 0

这将创建的核心文件的最大大小限制为 0。

有关更多详细信息,请参阅 bash 手册页。

相关内容