
linux core文件设置
发布日期:2025-04-05 23:01:28
浏览次数:7
分类:精选文章
本文共 1385 字,大约阅读时间需要 4 分钟。
在Linux中处理core文件的常见问题解析
在Linux环境中,当进程非正常退出时,系统会生成一个core文件。这份文件是进程在崩溃或停止之前所占用的内存内容的转储,这种现象被称为core dump。以下将介绍如何查看、启用、配置以及处理这些core文件的相关知识。
1. 检查core文件是否被启用
首先,需要确认系统是否已经启用core dump功能。通过以下命令可以查询core dump的状态:
- csh: limit coredumpsize = 0
- bash: ulimit -a
检查输出结果中关于coredumpsize的值。如果值为0,说明core dump尚未启用;否则,core dump已开启。
2. 启用core dump并设置文件大小
通过以下步骤可以临时启用并设置core dump的文件大小:
- 以root权限登录系统:
- 编辑文件 /etc/security/limits.conf,添加以下内容:
- 临时指定大小,可以在当前终端执行:
- csh: limit coredumpsize 4096000
- bash: ulimit -c 4096000
soft no limits coredumpsize hard no limits coredumpsize
注意:这些设置仅在当前活跃会话期间有效,一旦会话关闭,设置将失效。
3. 配置core文件生成路径
为防止core文件占用整个根目录,可以自定义其存储路径。
步骤:
- 使用sysctl命令修改kernel.core_pattern和kernel.core_uses_pid的值:
- 临时修改:
- /sbin/sysctl -w kernel.core_pattern=/core/core.%e.%p
- /sbin/sysctl -w kernel.core_uses_pid=0
- 永久配置:
- 编辑文件 /etc/sysctl.conf,添加以下内容:
- 加载配置文件:sysctl -p /etc/sysctl.conf
- %e 表示生成的文件名中包含进程ID(PID)
- %p 表示当前用户ID(UID)
- %s 表示停止信号
- %t 表示生成core文件的时间戳
- %h 表示主机名
- 以see用户身份登录:
- ksh: kill -11 $$
- 或者
- bash: kill -11 $PPID
- gdb <程序名> core文件名
- 使用bt(Back Trace)命令查看backtrace信息。
- 临时关闭:
- csh: limit coredumpsize 0
- bash: ulimit -c 0
- 永久关闭:
- 修改文件 /etc/security/limits.conf,设置coredumpsize为0:
kernel.core_pattern = /core/core.%e.%p
kernel.core_uses_pid = 0
配置说明:
4. 生成core文件(用于测试)
测试core文件的出现,可以使用以下命令强制生成core文件:
5. 分析已生成的core文件
要分析core文件,使用以下命令:
6.关闭core dump功能
关闭core_dump可以使用以下命令:
soft no limits coredumpsize hard no limits coredumpsize
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月29日 09时34分39秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Laravel项目宝塔部署全攻略:从0到1的实战指南
2025-04-04
laravl 文件存储云存储
2025-04-04
LARGE_INTEGER
2025-04-04
latex不能识别eps图片
2025-04-04
LaTeX介绍-ChatGPT4o作答
2025-04-04
LaTeX伪代码编辑
2025-04-04
Latex相关文章
2025-04-04
Laurent级数与奇点分析
2025-04-04
Layout Team
2025-04-04
layout_weight 的解释及使用
2025-04-04
layui 表单提交不执行ajax的坑
2025-04-04
layui上传文件、图片
2025-04-04
layui中如何让多个控件在一行显示
2025-04-04
LayUI之CRUD
2025-04-04
layui简单入门
2025-04-04
Leaflet中使用leaflet.browser.print插件实现打印/导出为pdf
2025-04-04
Leaflet中使用Leaflet.contextmenu插件实现地图上添加鼠标右键菜单
2025-04-04
Leaflet中使用Leaflet.MagnifyingGlass实现放大镜效果
2025-04-04