加载中…
个人资料
王斌科
王斌科
  • 博客等级:
  • 博客积分:0
  • 博客访问:36,206
  • 关注人气:163,639
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

Nginx模块开发中踩过的坑

(2013-06-02 12:38:31)
标签:

就是

信号

映像

磁盘空间

进程

分类: Linux笔记
        最近在学习Nginx模块开发,测试环境是在一个虚拟机中进行的,磁盘空间相对来说很小。由于模块存在bug导致Nginx进程崩溃了几次,发现磁盘空间不足。经过查询发现是Linux CoreDump文件惹的祸。 

        得知在Nginx下work_rlimit_core size;该配置可以控制core文件大小。 

        在Linux系统中,当进程发生错误或收到信号而终止时,系统会将进程执行时的内存内容(核心映像)写入一个文件(Core文件),以作为调试只用,这就是所谓的核心转储(coredumps)。当Nginx进程出现一些非法操作(如内存越界)导致进程直接被操作系统强制结束时,会生成核心转储core文件,可以从core文件中获取当时的堆栈、寄存器等信息,从而帮助我们定位问题。但这种core文件中的信息不一定是用户需要的,如果不加以限制,那一个core文件可以达到几G。轻轻松松就可以写满我们的磁盘。 

        在网上看到了另外一篇介绍Linux CoreDump文件的形成和分析的文章http://stblog.baidu-tech.com/?p=1684,详细介绍了该文件的形成以及如何分析。 

        联想到新浪博客前段时间数据库踩到的一个坑,数据库反复重启,导致线上故障。在微博上也看到一些建议也是和coredump文件有关系的。



0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有