动态开启进程的core dump

前两天,nginx进程莫名奇妙挂了,查看nginx的错误日志,看到一些错误

2017/09/21 22:05:17 [alert] 28916#0: worker process 28937 exited on signal 11
2017/09/21 22:05:17 [alert] 28916#0: worker process 24281 exited on signal 11
2017/09/21 22:05:17 [alert] 28916#0: worker process 24302 exited on signal 11
2017/09/21 22:05:17 [alert] 28916#0: worker process 24283 exited on signal 11
2017/09/21 22:05:17 [alert] 28916#0: worker process 24299 exited on signal 7
2017/09/21 22:05:17 [alert] 28916#0: worker process 24301 exited on signal 11
2017/09/21 22:05:17 [alert] 28916#0: worker process 24305 exited on signal 11
2017/09/21 22:05:17 [alert] 28916#0: worker process 28930 exited on signal 11

其中,signal 11 为段错误SIGSEGV,signal 7 为SIGBUS错误

需要开启core dump来定位错误,
但是ulimit -S -c unlimited 这样的设置,要重启应用才能生效,
想要不重启应用来开启core dump。

具体设置方法如下:

  1. 找到进程号,假设进程号是42301
  2. 向/proc/42301/limits 输入设置值
$> ps -ef | grep nginx
$> sudo bash -c "echo -n 'Max core file size=unlimited:unlimited' > /proc/42301/limits"
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在Linux下程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使...
    随风化作雨阅读 47,791评论 2 15
  • 工具:GDB 分析 导致进程异常退出的这两类情况: 第一类:向进程发送信号导致进程异常退出; 第二类:代码错误导致...
    董春磊阅读 5,985评论 0 1
  • 转自:http://www.dbafree.net/?p=870 我们可以使用kill -l查看所有的信号量解释,...
    AndreaArlex阅读 11,370评论 0 4
  • 第一章 Nginx简介 Nginx是什么 没有听过Nginx?那么一定听过它的“同行”Apache吧!Ngi...
    JokerW阅读 32,950评论 24 1,002
  • 看这部剧是因为某公众号的推荐,因为里面有很多手帐元素,一开始是奔着手帐去看这部剧的,但是最后改了方向有惊喜!...
    零上二十三度阅读 5,724评论 0 1

友情链接更多精彩内容