万一程序比较糟糕,指定的coredump文件大小限制,导致文件记录不到或者缺失怎么办。此时,一劳永逸的办法就是不限制coredump文件大小;执行“ulimit -c unlimited”
设定,设置时需要root权限。
- 不限制coredump文件大小
root@ubuntu:/home/acuity# ulimit -c unlimited
root@ubuntu:/home/acuity# ulimit -c
unlimited
以上方式都是在终端临时设置开启coredump记录功能,系统重启后失效,很显然这不是理想的方法。理想的方法是修改配置文件,使得系统一直开启coredump记录功能,至少在项目开发测试阶段是需要开启的。原则上,软件发布后也应该记录,出现问题后能够有追溯和分析问题的依据。
- 通过配置文件使能
在"/etc/profile"
文件增加" ulimit -c unlimited "
。
注:
ulimit 命令是一个设置资源限制的命令,除了coredump外,还可以设定其他资源限制
- -a:查看当前资源限制信息
- -c <core最大值>:设定core文件的最大值,单位为块(block)
- -d <数据节段大小>:进程数据段最大值,单位为KB
- -f <文件大小>:进程可创建最大文件值,单位为块(bl