gpt4 book ai didi

linux - 核心转储文件出现然后消失

转载 作者:太空狗 更新时间:2023-10-29 11:19:18 25 4
gpt4 key购买 nike

我有一个内存占用相当大的程序,大约 30GB,会进行核心转储。

当程序正在转储时(顶部显示为 D - Defunct)转储文件是可见和可读的。它位于预期的目录中,具有预期的文件名格式。一切都在本地磁盘上。我什至可以在 gdb 中加载文件。显然,对于这种大小的进程,转储需要几分钟时间。

文件增加到大约 13GB,然后进程退出……核心文件消失了!噗。

平台:Redhat EL6 (2.6.32-220.4.2.el6.x86_64)

文件系统空间充足,可用空间超过 500GB。

$ df .
Filesystem 1K-blocks Used Available Use% Mounted on
blahblahblah 834006872 270024424 521617316 35% /data

ulimit 没有显示任何适用的限制:

$ ulimit -a
core file size (blocks, -c) unlimited
file size (blocks, -f) unlimited
<snipped>

编辑:较小的核心转储不会消失。包括同一个程序。这似乎特定于巨大的核心转储。

tune2fs 1.41.12 (17-May-2010)
<snip>
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 1020
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8192
Inode blocks per group: 512
<snip>

最佳答案

假设您使用的是 ext2/ext3/ext4,您可能会面临文件系统最大文件大小的限制。 This page (警告:俄语)表示 ext* 文件系统中最大文件大小的有效值范围下限等于16 GB(具体值取决于在你的驱动器的簇大小上)。因此,我们不能排除您超出该限制的事实。

有很多工具可以帮助找出删除文件的进程:lsof , inotify , auditd .它们都在您的内核中得到支持,而且它们各不相同,现在很难说哪一个最适合您。

关于linux - 核心转储文件出现然后消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22671410/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com