修改core文件默认存储路径

标签:linux   core   core_pattern    2135人阅读 评论(0)
分类:

 在Linux系统中,程序异常退出时,可以通过core文件来分析它异常的详细原因。

 缺省情况下,Linux在程序异常时不产生core文件,要想让程序异常退出时产生core文件,需要使用ulimit命令更改设置:

 ulimit -c unlimited 

 程序再崩溃后,一般在当前目录生成一个core.pid的文件,可用于DEBUG。


 现在很多应用运行时内存占用多达几十GB,生成core文件会很慢,也占用大量硬盘空间。

 假设一般机械硬盘写入速度为100MB, 一个进程占用20GB内存,那么core文件写入时间就是200秒,

 可以通过如下命令修改core文件默认存储路径:

  

echo "/dev/shm/core.%e.%p" > /proc/sys/kernel/core_pattern

程序再崩溃后,会将core文件存储到/dev/shm下,这是虚拟的文件系统,实际占用系统内存空间,而非磁盘空间,写入速度也比磁盘快很多。

当然,此方式虽然提高了存储速度,也有较大风险,就是一旦/dev/shm/core文件太多,会导致物理内存不足,实际应用需注意!


具体通配符含义:

%% 单个%字符

%p 所dump进程的进程ID

%u 所dump进程的实际用户ID

%g 所dump进程的实际组ID

%s 导致本次core dump的信号

%t core dump的时间 (由1970年1月1日计起的秒数)

%h 主机名

%e 程序文件名


查看评论

暂无评论

发表评论
  • 评论内容:
      
首页
团队介绍
发展历史
组织结构
MESA大事记
新闻中心
通知
组内动态
科研成果
专利
论文
项目
获奖
软著
人才培养
MESA毕业生
MESA在读生
MESA员工
招贤纳士
走进MESA
学长分享
招聘通知
招生宣传
知识库
文章
地址:北京市朝阳区华严北里甲22号楼五层 | 邮编:100029
邮箱:nelist@iie.ac.cn
京ICP备15019404号-1