如何查询和修改Linux *** 作系统生成core dump文件的默认路径?

如何查询和修改Linux *** 作系统生成core dump文件的默认路径?,第1张

经过分析发现系统默认的core文件生成路径是/var/logs,但/var/logs目录并非系统自带的,系统初始安装默认自带的是/var/log,最终导致该系统出现core dump后并没能生成core文件,因此如何查询和修改系统默认的core dump文件生产路径呢?

方法如下:一. 查询core dump文件路径:

方法1: # cat /proc/sys/kerne怠珐糙貉孬股茬瘫长凯l/core_pattern。

方法2: # /sbin/sysctl kernel.core_pattern二. 修改core dump文件路径:

方法1:临时修改/proc/sys/kernel/core_pattern文件,但/proc目录本身是动态加载的,每次系统重启都会重新加载,因此这种方法只能作为临时修改。 /proc/sys/kernel/core_pattern 例:echo ‘/var/log/%e.core.%p’ >/proc/sys/kernel/core_pattern

方法2:永久修改:使戚睁辩用sysctl -w name=value命令。 例:高缺/sbin/sysctl -w kernel.core_pattern=/var/log/%e.core.%p为了更详尽的记录core dump当时的系统状态,可通过以下参数来丰富core文件的命早敬名: %% 单个%字符。

如果需要针对当前用户一直生效,那么需要在 ~/.bash_profile 追加:袜嫌

如果需要针对所有用户生效,那么需要在 /etc/profile 追加:

然后再对应执行 source ~/.bash_profile 或者 source /etc/profile

测试:

编译运行,然后键盘敲 Ctrl + \,会发现当前目录生成了core文件。

在 /proc/sys/kernel/core_pattern 可以设置格式化的core文件保存位置和文件名。

比如: core-%e-%p-%t 表示慎举在当前目录生成 "core-命令-pid-时间戳" 为文件名的core文件

比如: /cfg/core-%e-%p-%t 表示在/cfg下生成 "core-命告孝手令-pid-时间戳" 为文件名的core文件

注意: /proc/sys/kernel/core_pattern 不能直接编辑,可以用 echo core-%e-%p-%t >/proc/sys/kernel/core_pattern


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12328299.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存