linux 开启coredump
时间: 2024-12-01 11:09:56 浏览: 30
在Linux系统中,开启核心转储(core dump)是为了当程序发生严重错误(如段错误、信号处理等)导致崩溃时,系统能够保存一份该进程的状态信息,以便于后续分析和故障排查。以下是开启core dump的基本步骤:
1. **编辑配置文件**:打开`/etc/security/limits.conf` 或 `/etc/pam.d/common-session` 文件,增加以下行来允许用户创建core dumps(对于普通用户,如果权限不够,可以使用sudo):
```
username soft core unlimited
username hard core unlimited
```
这里将`username`替换为你需要设置的用户名。
2. **启用内核核心转储**:在`/etc/sysctl.conf` 或通过命令行`sysctl` 修改 `kernel.core_pattern` 参数,指定core dump文件的存放位置及格式,例如:
```
kernel.core_pattern = |/path/to/core.%e-%p.core
```
这将把core dump文件存放在`/path/to/`目录下,并以进程名和PID作为文件名的一部分。
3. **重启或reload sysctl**:运行`sysctl -p` 或 `sudo systemctl restart systemd-sysctl` 使配置生效。
4. **检查设置**:确认设置是否成功,可以查看`/proc/sys/kernel/core_pattern` 来验证默认的核心转储路径。
阅读全文