当前位置: 首页 > news >正文

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

  • core(5) - Linux manual page

  • systemd(1) - Linux manual page

  • systemd-coredump(8) - Linux manual page

http://www.lryc.cn/news/300319.html

相关文章:

  • docker 2:安装
  • LeetCode Python - 19.删除链表的倒数第N个结点
  • Spring Boot 笔记 005 环境搭建
  • 【解决(几乎)任何机器学习问题】:超参数优化篇(超详细)
  • 面试计算机网络框架八股文十问十答第七期
  • Codeforces Round 926 (Div. 2)
  • 构建智慧交通平台:架构设计与实现
  • 移动端设置position: fixed;固定定位,底部出现一条缝隙,不知原因,欢迎探讨!!!
  • 有关网络安全的课程学习网页
  • 计算机网络-面试题
  • C++虚函数
  • MySQL数据库基础(二):MySQL数据库介绍
  • 常用文件命令
  • 在屏蔽任何FRP环境下从零开始搭建安全的FRP内网穿透服务
  • OpenGL-ES 学习(1)---- AlphaBlend
  • Python 函数的学习笔记
  • 详解 Redis 实现数据去重
  • FreeRTOS 延迟中断处理
  • 计网体系结构
  • linux系统zabbix工具监控web页面
  • VMware虚拟机网络配置
  • 代码随想录算法训练营DAY18 | 二叉树 (5)
  • 企业微信自动推送机器人的应用与价值
  • Matplotlib plt.plot:从入门到精通,只需一篇文章!
  • Linux中sigaction函数和SIGCHLD信号的使用
  • 【MySQL】操作库 —— 表的操作 -- 详解
  • ZigBee学习——在官方例程实现组网
  • ES实战--wildcard正则匹配exists过滤字段是否存在
  • C++学习:二分查找
  • 语言与科技创新(大语言模型对科技创新的影响)