美文网首页
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文件配置

    ClickHouse物理机生成core文件配置 通常情况下,core文件会包含了程序运行时的内存,寄存器状态,堆栈...

  • C++ 应用奔溃,但是没有core文件

    1. core文件配置 ulimit -a 确认是不是core文件上限太小,导致生成失败 cat /proc/sy...

  • 分段错误

    配置操作系统使其产生core文件 若发生了段错误,但没有core dump,是由于系统禁止core文件的生成。 首...

  • CentOS IP地址设置

    基于 CentOS Linux release 7.6.1810 (Core) 获取物理信息 修改配置文件 重启网络服务

  • 一次docker部署jar实践

    物理机尝试修改jar中的配置文件使用jar 命令 (JAR包是由JDK安装目录\bin\jar.exe命令生成的)...

  • ClickHouse设置允许外网访问

    clickhouse配置文件路径 默认情况下,clickhouse只能内外访问,设置外网访问时,修改config....

  • 生成coredump文件

    1、ulimit 限制可以用 ulimit 命令设置允许生成的core文件大小,默认值是0表示不能生成core文件...

  • 在linux部署oracle数据库

    1、安装VMware tools ,便于虚拟机与物理机拷贝文件 2、 3、 4、 5、针对oracle 配置lin...

  • core文件的产生与使用

    -core文件的产生与使用 -关于core文件生成和路径设置,可参考http://www.cnblogs.com/...

  • core文件分析

    修改文件大小core文件的生成开关和大小限制

网友评论

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

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