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

linux 环境收集core文件步骤

Linux环境下进程发生异常而挂掉,通常很难查找原因,但是一般Linux内核给我们提供的核心文件,记录了进程在崩溃时候的信息,在C语言类的大型项目中,有助于深入定位。其配置流程如下:
1 查看生成core文件开关是否开启 ulimit -a

core file size          (blocks, -c) 0   		// 表明未开启
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 2061196
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1048576
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1048576
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

2 ulimit -c [kbytes]可以设置系统允许生成的core文件大小;

ulimit -c unlimited     // 不限制core文件的大小core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 2061406
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 524288
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 131072
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

上述方式不是永久生效的,要使其永久生效,可以进行如下设置
1 vi /etc/security/limits.d/20-nproc.conf

*          soft    nproc     unlimited
root       soft    nproc     unlimited
postgres   soft    core      unlimited
postgres   hard    core      unlimited 

2 指定core文件的名字与生成路径
执行# vim /etc/sysctl.conf,进入编辑模式,加入下面两行

kernel.core_pattern=/var/core/core_%e_%p
kernel.core_uses_pid=0注释: %e dump文件名      %p 进程号

3 执行sysctl -p /etc/sysctl.conf,使其修生效。

参考:https://blog.csdn.net/luronggui/article/details/128728235

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

相关文章:

  • Git企业开发控制理论和实操-从入门到深入(一)|为什么需要Git|Git的安装
  • 上篇——税收大数据应用研究
  • 疲劳驾驶检测和识别4:C++实现疲劳驾驶检测和识别(含源码,可实时检测)
  • Android WakefulBroadcastReceiver的使用
  • python知识:什么是字符编码?
  • Vue2中使用Pinia
  • Docker关于下载,镜像配置,容器启动,停止,查看等基础操作
  • 穿越网络迷雾的神奇通道 - WebSocket详解
  • 无脑入门pytorch系列(五)—— nn.Dropout
  • Python土力学与基础工程计算.PDF-压水试验
  • Linux入门
  • 适合国内用户的五款ChatGPT插件
  • Dubbo Spring Boot Starter 开发微服务应用
  • linux中互斥锁,自旋锁,条件变量,信号量,与freeRTOS中的消息队列,信号量,互斥量,事件的区别
  • 安装docker服务,配置镜像加速器
  • CF 896 C Willem, Chtholly and Seniorious(珂朵莉树模板)
  • Android Jetpack组件的全方位分析
  • Prometheus+Grafana+AlertManager监控SpringBoot项目并发送邮件告警通知
  • 猿辅导Motiff亮相IXDC 2023国际体验设计大会,发布新功能获行业高度关注
  • 【QT】重写QAbstractLIstModel,使用ListView来显示多列数据
  • 【从零学习python 】64. Python正则表达式中re.compile方法的使用详解
  • 【FAQ】视频云存储/安防监控EasyCVR视频汇聚平台如何通过角色权限自行分配功能模块?
  • 基于Spring Boot的社区诊所就医管理系统的设计与实现(Java+spring boot+MySQL)
  • mysql从传统模式切到GTID模式后启动主从,主从异常报错1236
  • Qt+C++串口调试接收发送数据曲线图
  • 【从零学习python 】75. TCP协议:可靠的面向连接的传输层通信协议
  • IPv4 基础概念
  • stm32片内读写项目总结(多字节读写tongxindu)
  • ECMAScript6 简介及拓展
  • 可视化构建包分析报告