Ubuntu 1804 And Above Coredump Settings

查看 coredump 是否开启

# 查询, 0 未开启, unlimited 开启
xiao@Ubuntu:/var/core$ ulimit -c
0

# 开启
xiao@Ubuntu:/var/core$ ulimit -c unlimited

查看 coredump 保存路径

默认情况下,Ubuntu 使用 apport 服务处理 coredump 文件,不会将 coredump 保存到程序运行的目录下。

xiao@Ubuntu:~/Desktop/crash$ cat /proc/sys/kernel/core_pattern
|/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E

# If the first character of the pattern is a '|', the kernel will treat
# the rest of the pattern as a command to run.  The core dump will be
# written to the standard input of that program instead of to a file.

disable ubuntu apport service through systemctl

# 关闭 ubuntu 官方错误收集服务
sudo systemctl disable apport.service
sudo systemctl stop apport.service

# 开启 ubuntu 官方错误收集服务
sudo systemctl enable apport.service
sudo systemctl start apport.service

disable ubuntu apport service through config file

xiao@Ubuntu:~/Desktop/crash$ cat /etc/default/apport 
# set this to 0 to disable apport, or to 1 to enable it
# you can temporarily override this with
# sudo service apport start force_start=1
enabled=1

关闭 apport servie 后,查看 /proc/sys/kernel/core_pattern 文件

xiao@Ubuntu:~/Desktop/crash$ cat /proc/sys/kernel/core_pattern 
core

使用 systemd-coredump 服务处理 coredump 文件
也可以使用 systemd-coredump 服务管理 coredump 文件,如下所示。

xiao@Ubuntu:~/Desktop/crash$ cat /proc/sys/kernel/core_pattern
|/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %e

手动安装 systemc-coredump 服务

sudo apt install systemd-coredump
# Reset all sysctl settings. Default no need to run.
systemctl restart systemd-sysctl

如果使用 systemd-coredump 服务,我们可以使用 coredumpctl 命令查看 coredump 文件。默认的,coredump 文件保存于 /var/lib/systemd/coredump/ 目录下。


永久修改 coredump 文件名或保存路径

/etc/sysctl.conf 和 /etc/sysctl.d/ 目录下都可以修改配置,如果修改/etc/sysctl.conf 不生效,需要确认 /etc/sysctl.d/ 目录下有没有已定义的配置,将会覆盖 /etc/sysctl.conf中的配置.

# 需要 root 权限,确保你的 conf 配置不会被覆盖
sudo bash && echo "kernel.core_pattern=/var/core/core_%e_%p" > /etc/sysctl.d/100-coredump.conf
# load config. if no config file, /etc/sysctl.conf is default.
sudo sysctl –p /etc/sysctl.d/100-coredump.conf

临时修改 coredump 文件名或保存路径

sysctl -w kernel.core_pattern="%e-%s.core"

References

相关推荐

  1. ubuntu1404安装dockerce

    2024-02-09 12:48:02       13 阅读
  2. Ubuntu1804下如何切换python版本

    2024-02-09 12:48:02       32 阅读
  3. Ubuntu 1804 And Above Coredump Settings

    2024-02-09 12:48:02       31 阅读
  4. ubuntu1804安装jupyter中的js环境

    2024-02-09 12:48:02       40 阅读
  5. arm32机器的ubuntu1804的源突然不能update了

    2024-02-09 12:48:02       20 阅读
  6. codeforces 1904B

    2024-02-09 12:48:02       42 阅读
  7. LeetCode 1084, 135, 21

    2024-02-09 12:48:02       11 阅读
  8. Ubuntu

    2024-02-09 12:48:02       18 阅读

最近更新

  1. TCP协议是安全的吗?

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

    2024-02-09 12:48:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-09 12:48:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-09 12:48:02       18 阅读

热门阅读

  1. 【Redis笔记】分布式锁及4种常见实现方法

    2024-02-09 12:48:02       30 阅读
  2. Rust入门2——随机数

    2024-02-09 12:48:02       31 阅读
  3. json模块(高维数据的存储与读取)

    2024-02-09 12:48:02       23 阅读
  4. Rust中的 Cell 和 RefCell

    2024-02-09 12:48:02       28 阅读
  5. 509. 斐波那契数

    2024-02-09 12:48:02       32 阅读
  6. 【Golang】定时任务Cron指南-毫秒级任务支持

    2024-02-09 12:48:02       31 阅读
  7. Flutter typedef 函数类型

    2024-02-09 12:48:02       30 阅读
  8. 速盾:dns解析和cdn加速的区别与联系

    2024-02-09 12:48:02       34 阅读
  9. C++ [NOIP2007 提高组] 矩阵取数游戏

    2024-02-09 12:48:02       28 阅读
  10. lnmp指令

    2024-02-09 12:48:02       33 阅读