运行 python3 使用 slurm 的多处理作业会生成大量核心文件。###### 文件。这些是什么?
Running python3 multiprocessing job with slurm makes lots of core.###### files. What are they?
所以我有一份 python3 工作被 slurm 运行 了。 python 作业使用大量多处理,生成大约 20 个左右的线程。代码远非完美,使用大量内存,偶尔会遇到一些意想不到的数据并抛出错误。这本身不是问题,我不需要20个过程中的每一个都完成。
问题是有时某些原因导致程序创建名为 core.356729(点后的数字发生变化)的文件,并且这些文件非常庞大!像 GB 的数据。最终我得到了太多,以至于我没有任何磁盘 space 了,我所有的工作都停止了。我不知道它们是什么,它们的内容不是人类可读的。 Google 搜索“core files slurm”或“core.number files”没有提供任何相关信息。
快速而肮脏的解决方案是添加一个进程,在这些文件出现时立即将其删除。但我更愿意理解为什么要先创建它们。
有谁知道什么会创建格式为“core.######”的文件?是否有此类文件的名称?有什么方法可以识别哪个 slurm 作业创建了该文件?
这些是用于调试的核心转储文件。它们本质上是崩溃进程的内存内容。您可以使用 ulimit -c 0
禁用它们的创建
所以我有一份 python3 工作被 slurm 运行 了。 python 作业使用大量多处理,生成大约 20 个左右的线程。代码远非完美,使用大量内存,偶尔会遇到一些意想不到的数据并抛出错误。这本身不是问题,我不需要20个过程中的每一个都完成。
问题是有时某些原因导致程序创建名为 core.356729(点后的数字发生变化)的文件,并且这些文件非常庞大!像 GB 的数据。最终我得到了太多,以至于我没有任何磁盘 space 了,我所有的工作都停止了。我不知道它们是什么,它们的内容不是人类可读的。 Google 搜索“core files slurm”或“core.number files”没有提供任何相关信息。
快速而肮脏的解决方案是添加一个进程,在这些文件出现时立即将其删除。但我更愿意理解为什么要先创建它们。
有谁知道什么会创建格式为“core.######”的文件?是否有此类文件的名称?有什么方法可以识别哪个 slurm 作业创建了该文件?
这些是用于调试的核心转储文件。它们本质上是崩溃进程的内存内容。您可以使用 ulimit -c 0