什么是core dump
core dump又叫核心转储, 当程序运行过程中发生异常, 程序异常退出时, 由操作系统把程序当前的内存状况存储在一个core文件中, 叫core dump。core dump在应用crash掉之后对问题的诊断是很有帮助的。而在默认安装的时候core dump是关闭状态的。
如何查看系统是否打开了core dump
使用【ulimit -c】查看core dump是否打开。如果结果为0,则表示此功能处于关闭状态,不会生成core文件
如何打开core dump
方法一:命令行方式【ulimit -c 1024】,在这个例子中打开了core dump 同时限制文件大小为1024k,现在的程序占用内存都比较凶猛,以前写C程序需要计算内存的时代已经过去了。如果不加限制,可能一个core文件,几个G就出去了~,当然没有限制的方式还是有的【ulimit -c unlimited】
方法二:配置profile文件,打开/etc/profile文件,在里面可以找到【ulimit -S -c 0 > /dev/null 2>&1】,将它改成【ulimit -S -c unlimited > /dev/null 2>&1】
方法三:修改/etc/security/limits.conf文件,添加【* soft core 0】,这个方法可以针对指定用户或用户组打开core dump【user soft core 0或@group soft core 0】。不过要使用这个方法一定要将方法二提到的那行注释掉,不可同时存在