本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Slurm 日誌輪換
SageMaker HyperPod 為 Slurm 協助程式日誌提供自動日誌輪換,以協助管理磁碟空間用量和維護系統效能。日誌輪換對於防止日誌耗用過多磁碟空間,並透過自動封存和移除舊日誌檔案,同時維護最新的日誌資訊,確保最佳系統操作至關重要。建立叢集時,預設會啟用 Slurm 日誌輪換。
日誌輪換的運作方式
啟用時,日誌輪換組態:
-
監控所有 Slurm 日誌檔案,副檔名
.log位於控制器、登入和運算節點上的/var/log/slurm/資料夾。 -
當日誌大小達到 50 MB 時輪換日誌。
-
在刪除日誌檔案之前,最多保留兩個輪換的日誌檔案。
-
輪換後將 SIGUSR2 訊號傳送至 Slurm 協助程式 (
slurmctld、slurmd和slurmdbd)。
輪換的日誌檔案清單
Slurm 日誌位於 /var/log/slurm/目錄中。所有符合 的檔案都會啟用日誌輪換/var/log/slurm/*.log。輪換時,輪換的檔案會有數值尾碼 (例如 slurmd.log.1)。下列清單並不詳盡,但顯示一些自動輪換的關鍵日誌檔案:
-
/var/log/slurm/slurmctld.log -
/var/log/slurm/slurmd.log -
/var/log/slurm/slurmdb.log -
/var/log/slurm/slurmrestd.log
啟用或停用日誌輪換
您可以使用叢集生命週期config.py指令碼指令碼中的 enable_slurm_log_rotation 參數來控制日誌輪換功能,如下列範例所示:
class Config: # Set false if you want to disable log rotation of Slurm daemon logs enable_slurm_log_rotation = True # Default value
若要停用日誌輪換,請將 參數設定為 False,如下列範例所示:
enable_slurm_log_rotation = False
注意
在叢集建立期間,生命週期指令碼會在所有 Slurm 節點 (控制器、登入和運算節點) 上執行。當新增至叢集時,它們也會在新節點上執行。更新日誌輪換組態必須在叢集建立後手動完成。日誌輪換組態存放在 中/etc/logrotate.d/sagemaker-hyperpod-slurm。我們建議保持啟用日誌輪換,以防止日誌檔案耗用過多的磁碟空間。若要停用日誌輪換,請在sagemaker-hyperpod-slurm檔案的每一行#開頭新增 ,以刪除檔案或註解sagemaker-hyperpod-slurm其內容。
預設日誌輪換設定
系統會自動為每個輪換的日誌檔案設定下列設定:
| 設定 | Value | Description |
|---|---|---|
rotate |
2 | 要保留的輪換日誌檔案數目 |
size |
50 MB | 輪換前的大小上限 |
copytruncate |
已啟用 | 複製和截斷原始日誌檔案 |
compress |
disabled | 輪換的日誌不會壓縮 |
missingok |
已啟用 | 如果日誌檔案遺失,則不會發生錯誤 |
notifempty |
已啟用 | 不會輪換空白檔案 |
noolddir |
已啟用 | 輪換的檔案會保留在相同的目錄中 |