最近在实习,学了一下nginx.
其中nginx的配置文件中有个参数:worker_rlimit_core SIZE;
该参数是用于限制coredump核心转储文件大小的。
什么是核心转储?
核心转储就是在linux或是类unix系统中,当一个进程发生错误或是收到信号要终止时,系统会将进程执行时的内存内容写入一个core文件,以作为调试之用,这就是核心转储(core dumps)。
为什么nginx中需要限制这个核心转储文件的大小?
当nginx进程发生错误例如内存越界堆栈溢出等被系统强制退出的时候会转储为core文件,该文件会记录强退进程当时的堆栈、寄存器等信息,帮助我们定位问题。
但是这种信息有时候会很大,甚至达到几GB,用户一般情况下不会需要这么多的core,太耗磁盘。