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
/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 socket 初步
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- 基于 Linux 集群环境上 GPFS 的问题诊断
- 谁是桌面王者?Win PK Linux三大镇山之宝
- vivi下重新调整分区