Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1942836
  • 博文数量: 261
  • 博客积分: 8073
  • 博客等级: 中将
  • 技术积分: 2363
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-10 15:23
文章分类

全部博文(261)

文章存档

2013年(1)

2012年(1)

2011年(50)

2010年(34)

2009年(4)

2008年(17)

2007年(55)

2006年(99)

分类:

2011-07-13 14:16:23

在RedHat Linux系统中默认是不生成core dump文件的,这是因为在/etc/profile文件中有这样一行
ulimit -S -c 0 > /dev/null 2>&1
如何打开core dump呢?最简单的方法是用户在自己的~/.bash_profile中加入ulimit -S -c unlimited > /dev/null 2>&1,这样设置后允许当前用户生成没有大小限制的core dump文件。此外还有两种系统级修改生成core dump的方法。

第一种方法是修改/etc/profile.
把ulimit那一行改为ulimit -S -c unlimited > /dev/null 2>&1
这样设置后系统允许所有用户生成没有大小限制的core dump文件。这样做的优点是不需要重起系统,缺点是无法控制只让某些用户生成core dump文件。
 
第二种方法是修改/etc/security/limits.conf文件。
很多系统上限都可以通过修改这个文件改变,如最大子进程个数,最大打开 文件数等等。这个文件有详细的注释,对如何修改这个文件做了说明。如果想对所有用户打开core dump,可以加入一行
* soft core 0
如果只想对某些用户或用户组打开core dump,可以加入
user soft core 0或@group soft core 0
注意如果通过修改/etc/security/limits.conf文件打开core dump,还需要注释掉/etc/profile中的ulmit那一行
#ulimit -S -c 0 > /dev/null 2>&1
这样修改的优点是可以针对特定用户或特定组打开core dump文件,缺点是需要重起系统。
 
生成core dump文件的位置.
默认位置与可执行程序在同一目录下,文件名是core.***,其中***是一个数字。core dump文件名的模式保存在/proc/sys/kernel/core_pattern中,缺省值是core。通过以下命令可以更改core dump文件的位置(如希望生成到/tmp/cores目录下)
echo “/tmp/cores/core” > /proc/sys/kernel/core_pattern

本篇文章来源于 Linux公社网站()  原文链接:
阅读(2205) | 评论(0) | 转发(0) |
0

上一篇:#ifdef 中的逻辑与或操作

下一篇:VIM配置

给主人留下些什么吧!~~