我有一台 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-users
在etc/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 手册页。