Chinaunix首页 | 论坛 | 博客
  • 博客访问: 538956
  • 博文数量: 906
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 7350
  • 用 户 组: 普通用户
  • 注册时间: 2022-03-07 15:28
个人简介

天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。

文章分类

全部博文(906)

文章存档

2026年(11)

2025年(202)

2024年(244)

2023年(247)

2022年(202)

我的朋友

分类: 云计算

2025-12-11 17:31:45

本文分享自天翼云开发者社区《core文件生成位置及命名》.作者:李****

一、core文件的生成

1.1  /proc/sys/kernel/core_pattern

系统文件 /proc/sys/kernel/core_pattern 记录core 文件格式及保存目录。可以带绝对目录,或者相对目录。如果是绝对目录,则所有进程的core文件保存在该目录,如果是不带目录则core生成后保存到 该进程的可执行文件的同目录下,相对目录则基于可执行文件的目录。该配置对服务器内的所有进程生效。

例如 可执行文件为:/usr/local/openresty/nginx/sbin/nginx

1)/proc/sys/kernel/core_pattern文件内容:core-%e-%p-%t

则生成的core文件为:/usr/local/openresty/nginx/sbin/core-nginx-226-1695021268

2)/proc/sys/kernel/core_pattern文件内容:../core-%e-%p-%t

则生成的core文件为:/usr/local/openresty/nginx/core-nginx-226-1695021268

3)/proc/sys/kernel/core_pattern文件内容:/usr/local/core-%e-%p-%t

则生成的core文件为:/usr/local/core-nginx-226-1695021268

1.2 文件的修改

对 /proc/sys/kernel/core_pattern 内容的修改可通过系统命令及重写该文件的方式修改,通过vi 或 vim 文本编辑器方式修改文件,则修改不了

1)系统命令

sysctl -w kernel.core_pattern=core-%e-%p-%t 

2)重写文件

echo "core-%e-%p-%t" > /proc/sys/kernel/core_pattern
 
1.3 命名的特殊字符介绍
%%:单个%字符
%p:所dump进程的进程ID
%u:所dump进程的实际用户ID
%g:所dump进程的实际组ID
%s:导致本次core dump的信号
%t:core dump的时间(时间戳格式,由1970年1月1日记起的秒数)
%h:主机名
%e:程序文件名
 
1.4 其他
各进程可以通过设置工作目录的方式调整core文件的生成位置,例如nginx可以通过
working_directory /usr/local/openresty/nginx/logs;
将core文件生成位置改为/usr/local/openresty/nginx/logs目录下。但是core_pattern为相对目录及绝对目录的设置仍会生效,只是相对目录基于的工作目录发生变化。
 
二、core文件名携带pid
2.1 /proc/sys/kernel/core_uses_pid
系统文件 /proc/sys/kernel/core_uses_pid 决定core文件名是否携带pid,如果值为 1, 即使core_pattern中没有设置%p,{BANNED}最佳后生成的core dump文件名仍会加上进程ID。值为0或其他 则不会加上进程ID。
例如:
 /proc/sys/kernel/core_uses_pid:1
/proc/sys/kernel/core_pattern: core-%e-%t
生成实际格式为:core-%e-%t.%p
 
2.2 设置方式
1)系统命令
 sysctl -w kernel.core_uses_pid=1 

2)重写文件

 echo "1" > /proc/sys/kernel/core_uses_pid

   
三、core文件生成大小
通过 系统命令 ulimit 设置。例如
 ulimit -c unlimited core文件生成大小不限制。
如果 ulimit -c , 大于size的core文件则不会生成
ulimit -a 查看当前资源限制
 
四、测试
kill -6 测试是否产生core文件

阅读(8) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~