什么是 core dump?
core dump是一个当进程意外终止时包含进程内存内容的文件。当程序崩溃的时候,core dump由kernel触发。core dump能够做为程序崩溃时的过后快照(post-mortem snapshot),尤为是在难以可靠的重现故障的状况下。html
大多数Linux系统默认开始core dump。可是一般这么作是有代价的。一方面咱们想要去收集信息从而提升稳定性而且帮助咱们排除故障;另外一方面,咱们但愿限制debug的数据而且避免泄漏一些敏感数据。第一个选择适合于研究不稳定的程序的机器。第二个选择适用于存储和处理敏感数据。docker
开启 core dump
为了开启core dump,咱们须要打开一下系统的软限制(soft limits)。shell
ulimit -S -c unlimited
-S:soft limit
-c:core dump的大小
若是想要永久的打开core dump,咱们能够在 /etc/security/limits.conf 文件中添加下面这一句,ubuntu
* soft core unlimited
除了指定为unlimited,即没有大小限制外,咱们还能够直接指定大小,例如bash
ulimit -c 1024 限制大小为1024
ulimit -c 0 限制大小为0,即不输出core文件
当咱们指定数字为0的时候,就意味着不输出core文件了。post
当咱们只使用-c参数的时候,就是查看core文件的大小限制,也就是关闭了core dump。翻译
ulimit -c
关闭 core dump