阿里云集群CentOS系统,运行程序出错时会产生一些core.xxx文件 这些文件是一个内存映象(同时加上调试信息),主要是用来调试的。
ulimit命令
参数 | 说明 |
---|---|
-H | 设置硬件资源限制 |
-S | 设置软件资源限制 |
-a | 显示当前所有的资源限制 |
-c size | 设置core文件的最大值.单位:blocks |
-d size | 设置数据段的最大值.单位:kbytes |
-f size | 设置创建文件的最大值.单位:blocks |
-l size | 设置在内存中锁定进程的最大值.单位:kbytes |
-m size | 设置可以使用的常驻内存的最大值.单位:kbytes |
-n size | 设置内核可以同时打开的文件描述符的最大值.单位:n |
-p size | 设置管道缓冲区的最大值.单位:kbytes |
-s size | 设置堆栈的最大值.单位:kbytes |
-t size | 设置CPU使用时间的最大上限.单位:seconds |
-v size | 设置虚拟内存的最大值.单位:kbytes |
开启或关闭core文件的生成
ulimit -c 0 # 禁止生成core文件
ulimit -c 1024 # 允许生成core文件的最大size(kb)
ulimit -c unlimited # 不限制core文件大小
ulimit -a # 查看配置
以上设置仅对当前终端生效,要想永久生效,可配置 /etc/profile
文件
echo 'ulimit -S -c 0 > /dev/null 2>&1' >> /etc/profile
通过core文件查看调试信息
gdb --core core.xxx