由于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

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐