美文网首页
ClickHouse物理机生成core文件配置

ClickHouse物理机生成core文件配置

作者: 金科_ | 来源:发表于2022-02-08 12:32 被阅读0次

    ClickHouse物理机生成core文件配置

    通常情况下,core文件会包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息还有各种函数调用堆栈信息等,我们可以理解为是程序工作当前状态存储生成第一个文件,许多的程序出错的时候都会产生一个core文件,通过工具分析这个文件,我们可以定位到程序异常退出的时候对应的堆栈调用等信息,找出问题所在并进行及时解决。

    先决条件

    产生coredump的条件,首先需要确认当前会话的ulimit -c,若为0,则不会产生对应的coredump,需要进行修改和设置。ulimit -c unlimited (可以产生coredump且不受大小限制),这种设置仅对当前生效,如果想永久生效那么需要在/etc/profile中加入以下一行,

    这将允许生成coredump文件:ulimit-c unlimited 。

    更改core dump 路径

    sudo mkdir -p /media/diskpool/core

    sudo chown -R clickhouse:clickhouse /media/diskpool/core/

    sudo bash -c 'echo /media/diskpool/core/core.%e.%p > /proc/sys/kernel/core_pattern'

    //指定内核所生成的coredump文件的文件名。例如,使用下面的命令使kernel生成名字为core.filename.pid格式的core dump文件:这样配置后,产生的core文件中将带有崩溃的程序名、以及它的进程ID。上面的%e和%p会被替换成程序文件名以及进程ID。

    验证是否生效

    code

    #include <iostream>
    #include <stdio.h>
    
    using namespace std;
    void core_test1()
    {
        int i = 0;
        scanf("%d", i);
        printf("%d", i);
    
    }
    
    int main()
    {
        core_test1();
        return 0;
    }
    

    编译

    g++ -g ctest.cpp -o ./ctest

    运行

    image.png

    调试现场

    image.png

    相关文章

      网友评论

          本文标题:ClickHouse物理机生成core文件配置

          本文链接:https://www.haomeiwen.com/subject/iisbkrtx.html