您的位置:首页 > 运维架构 > Linux

linux 下core文件的设置

2015-12-17 21:00 986 查看
由于linux下的程序有时候需要根据core文件来判断出错的地方,但是:

/proc/sys/kernel/core/core_pattern 默认内容: core

/proc/sys/kernel/core_uses_pid 默认内容:0

每次都只有一个core,而且新的core会覆盖旧的core,非常不方便,所以,用下面的方式改变默认core的格式。

方法1:临时修改:修改/proc/sys/kernel/core_pattern文件,但/proc目录本身是动态加载的,每次系统重启都会重新加载,因此这种方法只能作为临时修改。

/proc/sys/kernel/core_pattern

例:echo ‘/var/log/%e.core.%p’ > /proc/sys/kernel/core_pattern

方法2:永久修改:可以通过在/etc/sysctl.conf文件中,对sysctl变量kernel.core_pattern的设置。

vi /etc/sysctl.conf 然后,在sysctl.conf文件中添加下面两句话:

kernel.core_pattern = /var/core/core_%e_%p

kernel.core_uses_pid = 0

保存后退出。

需要说明的是, /proc/sys/kernel/core_uses_pid。如果这个文件的内容被配置成1,即使core_pattern中没有设置%p,最后生成的core dump文件名仍会加上进程ID。

可以使用以下命令,使修改结果马上生效。

sysctl –p /etc/sysctl.conf
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux