簡體   English   中英

slurm 作業因“總線錯誤”而崩潰是什么意思?

[英]What does it mean for slurm job to crash with `bus error`?

通過 slurm srun --pty bash運行 Python 腳本時,我收到一條神秘的錯誤消息Bus error: core dumped

我搜索了 slurm 文檔,它沒有提到這種錯誤類型。

發生了什么事,我該如何解決?

我發現了有關bus error的一般信息,但這並不能解釋它在 SLURM 環境中如何以及為什么會發生以及可以采取哪些措施來避免它:什么是總線錯誤? 它與分段錯誤不同嗎?

至少在一種情況下,這可能是由於我的工作需要太多內存,因此被 SLURM 殺死。

當我直接在工作節點上運行因總線錯誤而崩潰的同一個作業時,它在聲明 >30GB 后被殺死。

Ben Evans 關於耶魯集群話語的有用回答可能更普遍地適用於其他集群:

在 Yale 集群上,總線錯誤通常意味着您的作業內存 (RAM) 不足。 如果您無法減少代碼的內存使用量,您可以使用 --mem-per-cpu 或 --mem Slurm 標志為您的作業請求額外的內存。

更多細節:由於我們使用 cgroups 7 管理內存的方式,您的程序可能會遇到此錯誤,因此許多作業可以在同一台物理機器上運行而不會相互干擾。 如果作業內的進程試圖訪問分配給該作業的內存“外部”的內存,例如超過您請求的內存,則操作系統會告訴您的程序地址無效,錯誤總線錯誤,即 SIGBUS,退出(10) . 您可能更熟悉的類似故障是分段故障,即 SIGSEGV,exit(11),通常是由於程序錯誤地嘗試訪問有效內存地址造成的。

https://ask.cyberinfrastructure.org/t/what-does-it-mean-when-i-get-a-bus-error-in-my-job/1101/2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM