Linux系统中,配置核心转储文件(Core Dump File)

在Linux系统中,配置核心转储文件(Core Dump File)可以帮助你调试程序崩溃或异常终止的原因。你可以通过设置系统参数来启用核心转储,并限制其最大大小为8GB。

步骤

1. 启用核心转储

首先,确保核心转储功能已启用。你可以通过以下命令检查当前的核心转储设置:

ulimit -c

如果输出为0,表示核心转储功能未启用。你可以通过以下命令启用核心转储:

ulimit -c unlimited
2. 设置核心转储文件路径

你可以通过设置/proc/sys/kernel/core_pattern文件来指定核心转储文件的保存路径和命名规则。

  1. 编辑/etc/sysctl.conf文件

    sudo nano /etc/sysctl.conf
  2. 添加或修改以下行

    kernel.core_pattern=/var/crash/core-%e-%p-%t
    • %e:可执行文件名。

    • %p:进程ID。

    • %t:时间戳。

  3. 应用配置

    sudo sysctl -p
3. 设置核心转储文件的最大大小

你可以通过设置/proc/sys/kernel/core_uses_pid文件来限制核心转储文件的最大大小。

  1. 编辑/etc/security/limits.conf文件

    sudo nano /etc/security/limits.conf
  2. 添加以下行

    *               soft    core            8388608
    *               hard    core            8388608
    • 8388608 是 8GB 的值(8 * 1024 * 1024)。

  3. 编辑/etc/sysctl.conf文件

    sudo nano /etc/sysctl.conf
  4. 添加或修改以下行

    fs.suid_dumpable=2
  5. 应用配置

    sudo sysctl -p
4. 创建核心转储文件目录

确保核心转储文件的保存目录存在,并且具有适当的权限。

  1. 创建目录

    sudo mkdir -p /var/crash
  2. 设置权限

    sudo chown root:root /var/crash
    sudo chmod 1777 /var/crash

验证配置

你可以通过运行一个会导致崩溃的程序来验证配置是否生效。例如,运行以下命令:

./crash_program

如果配置正确,你应该在/var/crash目录下看到生成的核心转储文件。

总结

通过以上步骤,你可以在Linux系统中配置核心转储文件,并限制其最大大小为8GB。这样可以确保在程序崩溃时生成核心转储文件,以便后续分析和调试。

在tomcat中dump日志添加

当tomcat经常内存溢出时,排查比较困难,可以选择添加dump日志,当宕机时会生成hprof格式文件,用于内存分析便于排查问题。
在windows服务器中需要配置bin/catalina.bat文件,XX:HeapDumpPath 为磁盘的已存在的路径,内存溢出时hprof文件会生成在配置路径下。

set JAVA_OPTS=%JAVA_OPTS% -server -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=F:\dump

在linux服务器中需要配置bin/catalina.sh文件。

JAVA_OPTS="$JAVA_OPTS -server -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/ "

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小码快撩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值