先查看一下系统的core的相关信息在 Linux 上所有 core 文件怎么生成、放在哪由内核参数 kernel.core_pattern 决定。输入sysctl kernel.core_pattern可以有好几种输出第一种/var/coredump/core.%e.%p.%t 是这种普通路径%e程序名。* %p进程 ID。* %t崩溃时间戳去相应路径下去找就可以第二种输出以 | 开头交给外部程序处理类似于我的输出内核生成 core 时不直接写磁盘文件而是把 core 二进制数据流通过管道传给后面指定的程序 /usr/libexec/abrt-hook-ccpp。作用交由 abrtd自动崩溃报告工具处理崩溃转储自动收集、压缩、归档崩溃日志而不是裸 core 文件散落在系统。注意;不同程序运行崩溃产生的core文件不一定在同一个位置。会不会在同一位置完全看 kernel.core_pattern这种 | 开头的情况所有程序的 core 都由 abrt 统一收集放在同一个目录/var/spool/abrt/ 下面只是每个崩溃事件一个子目录文件名里会带上程序名、PID 等信息我们可以修改 kernel.core_pattern的值改为自定义路径比如第一种mkdir -p /dmdata/coredumpsysctl -w kernel.core_pattern/dmdata/coredump -%e-%p-%tsysctl -p 这些操作只是临时修改重启后不会保存之后系统中所有程序崩溃时产生的core文件都生成在/dmdata/coredump目录下 只是文件名不同不会相互覆盖。第二种sysctl -w kernel.core_patterncore.%e.%p没有定义路径。内核就会在进程崩溃时把 core 文件写到进程的当前工作目录。我用的绝对路径检查一下core权限是否打开ulimit - c尝试生成一个core文件先启动数据库服务查询进程ps -ef | grep dmserver | grep -v grep杀死进程Kill – 6 你的进程号core文件生成完成用dmrdc解析