玩转centos 下的core 文件

玩转centos 下的core 文件

------------------------------------------------------------
author: hjjdebug
date: 2024年 03月 06日 星期三 12:38:35 CST
description:  玩转centos 下的core 文件
------------------------------------------------------------
一: 准备一个会产生core 的文件

# cat main.cpp
int main(void)
{
    char *p=0;
    *p=123;
    return 0;
}

编译并执行之
# ./temp 
段错误(吐核)
但是查看当前目录却没有生成core文件
$ ls
main.cpp  main.o  Makefile  temp  temp.pro

二: 原因查找:
#  ulimit -a |grep core
core file size          (blocks, -c) 0

core file size 为0 是不会生成core 文件的


三: 设置core size 为unlimited(不限制大小)
# ulimite -c unlimited

重新执行文件
# ./temp 
段错误(吐核)
[root@ct50 ~/temp]# ls
core.11538  main.cpp  main.o  Makefile  temp  temp.pro

即可生成core 文件, 但它是带pid 的, 每次都会生成不同的core 文件,不方便查找且浪费空间.

怎样 把core 文件名称修改为core, 去掉pid ?

这需要修改系统参数. 可以借用sysctl 命令. 当然也可以不用,灵活掌握最重要!

sysctl 命令简单介绍:
Linux中的sysctl支持需要Procfs,
可以使用sysctl读取和写入sysctl数据。 可用参数是/proc/sys/下列出的参数。
sysctl -a 可列出所有系统参数, 配合grep 可以顾虑出感兴趣的参数
sysctl -w 可以修改参数的值
例如:
sysctl -w net.core.rmem_max=26214400  //修改网络内核读缓存的大小
临时修改也可以直接修改/proc/sys 下对应的参数.

如果想使修改在下次开机时生效, 可以直接编辑/etc/sysctl.conf文件
将内核参数写入配置文件中,需要使用sysctl -p命令重新加载配置文件使参数生效。

四: 查看当前core 的生成状态:
$sysctl -a | grep kernel|grep core
kernel.core_pattern = |/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e %P %I %h
kernel.core_pipe_limit = 4
kernel.core_uses_pid = 1   //我们关心的是这个

可见core 是使用了pid 的
把它临时改为不使用pid, 进入/proc/sys/kernel 目录
查看:
$ls core*
core_pattern  core_pipe_limit  core_uses_pid
直接查看值也可以
$ cat core_uses_pid
1

五: 修改内核参数
$ echo 0 >  core_uses_pid
用sysctl -w 也可以,这里就忽略了.

六: 再次查看:
$ cat core_uses_pid
0
用sysctl 查看看
$ sysctl -a |grep kernel|grep core
kernel.core_pattern = |/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e %P %I %h
kernel.core_pipe_limit = 4
kernel.core_uses_pid = 0
可见它们结果是一致的.
 

相关推荐

  1. centos core 文件

    2024-03-11 09:08:02       28 阅读
  2. nginx配置文件2

    2024-03-11 09:08:02       11 阅读
  3. 用爬石石墨文档

    2024-03-11 09:08:02       28 阅读
  4. 用爬虫石墨文档

    2024-03-11 09:08:02       13 阅读
  5. 用爬虫石墨文档

    2024-03-11 09:08:02       15 阅读
  6. 用爬虫石墨文档

    2024-03-11 09:08:02       15 阅读
  7. 用爬虫石墨文档

    2024-03-11 09:08:02       16 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-11 09:08:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-11 09:08:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-11 09:08:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-11 09:08:02       20 阅读

热门阅读

  1. python中Unicode 数据库访问(Unicode Character Database)

    2024-03-11 09:08:02       22 阅读
  2. 国外客户代采1688商品如何实现自动化对接

    2024-03-11 09:08:02       36 阅读
  3. orm之SQLAlchemy

    2024-03-11 09:08:02       21 阅读
  4. docker安装redis7

    2024-03-11 09:08:02       21 阅读
  5. 探秘HTTPS:如何通过SSL/TLS保证网络通信安全

    2024-03-11 09:08:02       19 阅读
  6. 装饰器模式

    2024-03-11 09:08:02       24 阅读