问题 在核心生成期间压缩核心文件


在linux 2.6.x中,有没有办法在核心转储生成过程中压缩核心文件?基本上,存储空间在我们的系统中是有限的,因此我们无法生成完整的核心文件然后gzip相同。

问候, 普拉巴卡尔


9888
2018-02-21 07:20


起源



答案:


Linux内核 /proc/sys/kernel/core_pattern 文件将做你想要的: http://www.mjmwired.net/kernel/Documentation/sysctl/kernel.txt#141

将文件名设置为类似的 |/bin/gzip -1 > /var/crash/core-%t-%p-%u.gz 并且您的核心文件应该为您保存压缩。


14
2018-02-21 07:29



请注意,这仅从2.6.19开始支持。如果你有一个早期运行的嵌入式系统,它可能是升级的灵感;-) - jsegal
对于嵌入式人员也值得注意,大多数直接flash文件系统(yaffs,jffs2,ubifs)对文件进行透明压缩,这将实现类似的净效果。 - Cheetah
必须使用绝对路径名指定程序。看到 CORE(5)。此外,重定向“>”不能在此处工作,您可以将gzip命令放入单独的shell脚本,如“/root/core.sh”,然后 echo "|/root/core.sh" > /proc/sys/kernel/core_pattern 代替。 - Ted Feng
@Ted,我很惊讶我忽略了完整的道路。谢谢! - sarnold
我在busybox上也是如此:应该将核心模式指定为shell脚本的参数,例如: echo "|/root/core.sh %t %p %u" >/proc/sys/kernel/core_pattern 在脚本中你可以使用$ 1,$ 2,$ 3: /bin/gzip -f - >/var/crash/core-$1-$2-$3.gz - lumpidu


答案:


Linux内核 /proc/sys/kernel/core_pattern 文件将做你想要的: http://www.mjmwired.net/kernel/Documentation/sysctl/kernel.txt#141

将文件名设置为类似的 |/bin/gzip -1 > /var/crash/core-%t-%p-%u.gz 并且您的核心文件应该为您保存压缩。


14
2018-02-21 07:29



请注意,这仅从2.6.19开始支持。如果你有一个早期运行的嵌入式系统,它可能是升级的灵感;-) - jsegal
对于嵌入式人员也值得注意,大多数直接flash文件系统(yaffs,jffs2,ubifs)对文件进行透明压缩,这将实现类似的净效果。 - Cheetah
必须使用绝对路径名指定程序。看到 CORE(5)。此外,重定向“>”不能在此处工作,您可以将gzip命令放入单独的shell脚本,如“/root/core.sh”,然后 echo "|/root/core.sh" > /proc/sys/kernel/core_pattern 代替。 - Ted Feng
@Ted,我很惊讶我忽略了完整的道路。谢谢! - sarnold
我在busybox上也是如此:应该将核心模式指定为shell脚本的参数,例如: echo "|/root/core.sh %t %p %u" >/proc/sys/kernel/core_pattern 在脚本中你可以使用$ 1,$ 2,$ 3: /bin/gzip -f - >/var/crash/core-$1-$2-$3.gz - lumpidu