2

我们的进程可以使用 100 GB 的 RAM,这显然会产生核心转储文件大小的问题。大文件很糟糕,因为它们需要很长时间才能写入,而且(对我们来说更糟)它们可能会填满它们写入的分区。

此外,如果核心文件位于远程位置,我们可能希望通过 WAN 传输它,通常这可能需要几天的时间。

显然我们可以压缩核心,这可能会减小尺寸。我想做的是操纵核心从核心文件中删除一些较大的数据结构,将其缩小到更易于管理的大小。

从内部来看,我们可以捕获 SEGV 并手动编写核心转储。

从“外部”来看,我们可以编写一些 gdb 魔法来发现大型结构的位置,将它们归零,然后进行压缩。

这两种方法都没有多大吸引力......

4

0 回答 0