http://blog.csdn.net/ctthuangcheng/article/details/8963551

linux core文件设置

分类: Linux OS Debugging Technique2013-05-23 09:51 1446人阅读 评论(0) 收藏 举报

在Linux中,一般当进程非正常退出时,会生成一个core文件,这个文件是进程猝死时内存的转储文件,也称为core dump。

查看Linux脚本解析方式:

echo $0

1.检验core是否打开

以see/see登录

csh:  limit;    coredumpsize = 0 , 说明没有打开core, 否则打开了。

bash: ulimit –a ;  关注红色部分。 如果是0,表示core没有打开,否则打开了。

2.开启core,设置大小

如果没有开启,永久开启

······以root/huawei用户登录,vi /etc/security/limits.conf ,注意红色部分

soft  <  hard大小

临时指定大小,以see/see用户登录,

csh: limit coredumpsize 4096000

bash: ulimit -c 4096000  大小低于/etc/security/limits.conf中设置的大小

注意:这些都是临时的,一旦该活跃窗口关闭后再次打开,设置的core大小就失效了。

3. core路径配置

注意:指定的core路径有写入权限

以see/see用户登录,/sbin/sysctl -a |grep core, 查看目前core文件生成的路径

然后肉眼查一下 kernel.core_pattern 和 kernel.core_uses_pid 两个配置值是多少。

kernel.core_pattern: core文件路径

kernel.core_uses_pid: 生成core文件,后缀是否带pid  1:带; 0 :不带

临时修改路径(需要root权限)

/sbin/sysctl -w kernel.core_pattern=/core/core.%e.%p

/sbin/sysctl -w kernel.core_uses_pid=0

%p – insert pid into filename  ---   显示进程号

%u – insert current uid into filename ---  用户ID

%g – insert current gid into filename ---  组ID

%s – insert signal that caused the coredump into the filename ---添加导致产生core的信号

%t – insert UNIX time that the coredump occurred into filename --- 时间

%h – insert hostname where the coredump happened into filename --- 主机名

%e – insert coredumping executable name into filename  --- 名字

永久修改路径(需要root权限,机器重新启动也会生效):

修改/etc/sysctl.conf,添加2行即可:

kernel.core_pattern = /core/core.%e.%p

kernel.core_uses_pid = 0

设置生效
sysctl -p /etc/sysctl.conf

4. 产生core(用于自测试)

以see/see用户,ksh;kill -11 $$

5. 定位分析core

gdb  container  core文件

然后:bt

6 .关闭core

临时关闭:

csh: limit coredumpsize 0

bash: ulimit -c 0

注意:这些都是临时的,一旦该活跃窗口关闭后再次打开,设置的core大小就失效了。

永久关闭:

以root/huawei用户登录,vi /etc/security/limits.conf ,注意红色部分为0

linux core文件设置的更多相关文章

  1. [转载]linux下core文件设置与查看

    转自:https://blog.csdn.net/dingqinghui/article/details/77855330?locationNum=9&fps=1 linux下core文件设置 ...

  2. Linux core 文件介绍

    Linux core 文件介绍 http://www.cnblogs.com/dongzhiquan/archive/2012/01/20/2328355.html 1. core文件的简单介绍在一个 ...

  3. linux下core文件设置(转)

    在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息).使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数. 1.core文件的生成开 ...

  4. (转)Linux core 文件介绍与处理

    1. core文件的简单介绍 在一个程序崩溃时,它一般会在指定目录下生成一个core文件.core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的. 2. 开启或关闭core文件的生成用以 ...

  5. Linux core 文件浅析

    浅析Linux下core文件 当我们的程序崩溃时,内核有可能把该程序当前内存映射到core文件里,方便程序员找到程序出现问题的地方.最常出 现的,几乎所有C程序员都出现过的错误就是"段错误& ...

  6. Linux打开文件设置

    在某些情况下会要求增加Linux的文件打开数,以增加服务器到处理效率,在Linux下查看最多能打开的文件数量为: cat /proc/sys/fs/file-max 然后设置ulimit -n 文件数 ...

  7. linux core文件机制

    在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息).使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数. 1.core文件的生成开 ...

  8. Linux core 文件 gdb

    http://blog.csdn.net/mr_chenping/article/details/13767609 在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时 ...

  9. linux core文件的打开和分析

    1. core文件生成打开方式: ulimit -c unlimited echo "1" > /proc/sys/kernel/core_uses_pid 看下服务器上是否 ...

随机推荐

  1. js检测对象是否是数组

    js检测对象是否是数组 可以通过instanceof 方法一. var arr=[] arr instanceof Array   //true var obj={} obj instanceof A ...

  2. 模拟--P1540 机器翻译

    题目连接 题目背景 小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章. 题目描述 这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换.对于每个英文单词 ...

  3. 秋招复习-C++(二)

    1.Segmentation Fault是什么?什么情况下会导致它的出现?怎么解决? Segmentation Fault中文是段错误,在Linux系统中,段错误一般是是由用户程序非法访问内存引起的( ...

  4. SecureCRT 64位 破解版v8.1.4

    http://www.xue51.com/soft/1510.html#xzdz securecrt 破解版是一款支持SSH1和SSH2的终端仿真程序,这个程序能够在windows系统中登陆UNIX或 ...

  5. java用XSSFWorkbook实现读写Excel

    /** * 读取Excel文件的内容 * @param inputStream excel文件,以InputStream的形式传入 * @param sheetName sheet名字 * @retu ...

  6. (13) openssl ca(签署和自建CA)

    用于签署证书请求.生成吊销列表CRL以及维护已颁发证书列表和这些证书状态的数据库.因为一般人无需管理crl,所以本文只介绍openssl ca关于证书管理方面的功能. 证书请求文件使用CA的私钥签署之 ...

  7. 条款8:别让异常逃离析构函数(prevent exception from leaving destructors)

    NOTE: 1.析构函数绝对不要吐出异常.如果一个被析构函数调用的函数可能抛出异常,析构函数应该扑捉任何异常,然后吞下他们(不传播)或结束程序. 2.如果客户需要对某个操作函数运行期间抛出的异常做出反 ...

  8. python常用模块之sys, os, random

    一. sys模块 1. 作用: sys模块是与python解释器交互的一个接口 2. 具体使用 1. sys.argv 获取当前正在执行的命令行列表, 第一个为程序本身路径 print('file n ...

  9. Java比较两个数组中的元素是否相同的最简单方法

    import java.util.Arrays; public class Test { /** * Java比较两个数组中的元素是否相同 */ public static void main(Str ...

  10. Idea中配置svn时报 Can't use Subversion command line client: svn.Errors found while svn working copies detection.

    https://www.cnblogs.com/wqh17/p/6881483.html