1,如何开启生成coredump文件
echo “ulimit -c 1024” >> /etc/profile //限制生成core文件的大小为1024KB
或直接在控制台输入ulimit -c //不限制core文件的大小
取消限制 ulimit -c unlimited
2,查看是否打开
ulimit -a 查看
3,修改core文件存储路径
echo “/corefile/core-%e-%p-%t” > /proc/sys/kernel/core_pattern
%e命令名
%p pid
%t时间戳
4,调试
gdb main /corefile/xxxxxx
5,core文件的默认存储路径
cat /proc/sys/kernel/core_pattern文件中查看即可
ulimit介绍
type
soft: 当前系统生效的值
hard 当前系统中所设定的最大值
soft的限制不能比hard的限制高
resource:
core - 限制内核文件的大小
date - 最大数据大小
fsize - 最大文件大小
memlock - 最大锁定内存地址空间
nofile - 打开文件的最大数目
rss - 最大持久设置大小
stack - 最大栈大小
cpu - 以分钟为单位的最多 CPU 时间
noproc - 进程的最大数目
as - 地址空间限制
maxlogins - 此用户允许登录的最大数目
ulimit工作原理
1,ulimit的配置是在/etc/security/limits.conf中
2,limits.conf是pam_limits.so的配置文件,当用户使用pam模块时加载/etc/pam.d下的服务
如何使ulimit的设置永久生效
说明:
1,单纯的只设置ulimit -c unlimited只是对当前登录的会话生效
永久生效方法
1,在/root/.bash_profile中添加ulimit -c unlimited
2,source /root/.bash_profile即可