Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【求助】线上服务占用磁盘空间不断增大,应该怎么优化? #744

Closed
shilucus opened this issue Dec 27, 2024 · 2 comments

Comments

@shilucus
Copy link

近期我司运维发现部署cnpmcore服务的机器,磁盘空间快被占满了。发现dist目录生成了很多core.xxx文件,请问这些文件是做什么用的, 可以清理吗?

线上版本:v3.13.2

image

@elrrrrrrr
Copy link
Member

这是 linux 生成的 coredump 文件,是进程崩溃后系统生成的,可以用分析异常退出原因。

关闭 coredump 在不同操作系统的处理流程不太一样,以下是 AI 返回的一些信息参考,可以尝试下 🙏🏻

在 Linux 系统中,可以通过几种方法来关闭 core dump 文件的生成。以下是几种常用的方法:

方法 1: 使用 ulimit 命令

ulimit 命令可以用来设置用户进程的资源限制。要关闭 core dump 文件生成,可以将 core 文件大小限制设置为 0。

  1. 临时关闭 core dump 文件生成(只对当前会话有效):

    ulimit -c 0
  2. 永久关闭 core dump 文件生成(对所有会话有效):
    编辑 /etc/security/limits.conf 文件,添加以下两行:

    * hard core 0
    * soft core 0
    

方法 2: 修改 /proc 文件系统

通过修改 /proc/sys/kernel/core_pattern 文件,可以控制 core dump 文件的生成。

  1. 检查当前的 core pattern 设置:

    cat /proc/sys/kernel/core_pattern
  2. 将 core pattern 设置为空以禁用 core dump:

    echo "|/bin/false" > /proc/sys/kernel/core_pattern
  3. 为了使这个设置永久生效,可以将其添加到 /etc/sysctl.conf 文件中:

    kernel.core_pattern = |/bin/false
    

    然后运行以下命令以应用配置:

    sysctl -p

方法 3: 使用 systemd-coredump(适用于 systemd 系统)

如果系统使用 systemd 管理服务,可以通过配置 systemd-coredump 来禁用 core dump。

  1. 创建或编辑 /etc/systemd/coredump.conf 文件,添加以下内容:

    [Coredump]
    Storage=none
    
  2. 重新加载 systemd 配置:

    systemctl daemon-reload

这几种方法都可以有效地关闭 Linux 系统中的 core dump 文件生成。根据需要选择适合的方法进行配置。

@shilucus
Copy link
Author

这是 linux 生成的 coredump 文件,是进程崩溃后系统生成的,可以用分析异常退出原因。

关闭 coredump 在不同操作系统的处理流程不太一样,以下是 AI 返回的一些信息参考,可以尝试下 🙏🏻

在 Linux 系统中,可以通过几种方法来关闭 core dump 文件的生成。以下是几种常用的方法:

方法 1: 使用 ulimit 命令

ulimit 命令可以用来设置用户进程的资源限制。要关闭 core dump 文件生成,可以将 core 文件大小限制设置为 0。

  1. 临时关闭 core dump 文件生成(只对当前会话有效):
    ulimit -c 0
  2. 永久关闭 core dump 文件生成(对所有会话有效):
    编辑 /etc/security/limits.conf 文件,添加以下两行:
    * hard core 0
    * soft core 0
    

方法 2: 修改 /proc 文件系统

通过修改 /proc/sys/kernel/core_pattern 文件,可以控制 core dump 文件的生成。

  1. 检查当前的 core pattern 设置:

    cat /proc/sys/kernel/core_pattern
  2. 将 core pattern 设置为空以禁用 core dump:

    echo "|/bin/false" > /proc/sys/kernel/core_pattern
  3. 为了使这个设置永久生效,可以将其添加到 /etc/sysctl.conf 文件中:

    kernel.core_pattern = |/bin/false
    

    然后运行以下命令以应用配置:

    sysctl -p

方法 3: 使用 systemd-coredump(适用于 systemd 系统)

如果系统使用 systemd 管理服务,可以通过配置 systemd-coredump 来禁用 core dump。

  1. 创建或编辑 /etc/systemd/coredump.conf 文件,添加以下内容:
    [Coredump]
    Storage=none
    
  2. 重新加载 systemd 配置:
    systemctl daemon-reload

这几种方法都可以有效地关闭 Linux 系统中的 core dump 文件生成。根据需要选择适合的方法进行配置。

感谢回复

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants