

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 嘗試執行任務
<a name="troubleshooting-fc-v3-run-job"></a>

如果您在嘗試執行任務時在 中執行問題，以下章節提供可能的疑難排解解決方案。

## `srun` 互動式任務失敗並發生錯誤 `srun: error: fwd_tree_thread: can't find address for <host>, check slurm.conf`
<a name="run-job-srun-interactive-fail-v3"></a>
+ **為什麼失敗？**

  您執行 `srun`命令來提交任務，然後使用 `pcluster update-cluster`命令來增加佇列的大小，而不需在更新完成後重新啟動Slurm協助程式。

  Slurm 會在樹狀結構中組織Slurm協助程式，以最佳化通訊。此階層只會在精靈啟動時更新。

  假設您使用 `srun` 啟動任務，然後執行 `pcluster update-cluster`命令來增加佇列的大小。新的運算節點會在更新時啟動。然後， 會將您的任務排入其中一個新運算節點的Slurm佇列。在此情況下，精靈和 Slurm 都不會`srun`偵測新的運算節點。 會`srun`傳回錯誤，因為它不會偵測新的節點。
+ **如何解決？**

  重新啟動所有運算節點上的協助程式，然後使用 Slurm `srun`提交您的任務。您可以執行重新啟動運算節點的 `scontrol reboot`命令，來排程Slurm精靈重新啟動。如需詳細資訊，請參閱 Slurm 文件中的[控制項重新啟動](https://slurm.schedmd.com/scontrol.html#OPT_reboot)。您也可以請求重新啟動對應的`systemd`服務，以手動重新啟動運算節點上的Slurm協助程式。

## 任務使用 `squeue`命令卡在 `CF` 狀態
<a name="run-job-cf-stuck-v3"></a>

這可能是動態節點啟動時的問題。如需詳細資訊，請參閱[查看運算節點初始化中的錯誤](troubleshooting-fc-v3-compute-node-initialization-v3.md)。

## 執行大規模任務並查看 `nfsd: too many open connections, consider increasing the number of threads in /var/log/messages`
<a name="run-job-network-limits-v3"></a>

透過網路檔案系統，達到網路限制時，I/O 等待時間也會增加。這可能會導致軟鎖定，因為網路用於寫入聯網和 I/O 指標的資料。

使用第 5 代執行個體時，我們使用 ENA 驅動程式來公開封包計數器。當網路達到執行個體頻寬限制 AWS 時，這些計數器會計算 成形的封包。您可以檢查這些計數器，以查看它們是否大於 0。如果是，則您已超過頻寬限制。您可以執行 來檢視這些計數器`ethtool -S eth0 | grep exceeded`。

超過網路限制通常是由於支援太多 NFS 連線所致。這是達到或超過網路限制時要檢查的第一件事之一。

例如，下列輸出會顯示捨棄的套件：

```
$ ethtool -S eth0 | grep exceeded
  bw_in_allowance_exceeded: 38750610
  bw_out_allowance_exceeded: 1165693
  pps_allowance_exceeded: 103
  conntrack_allowance_exceeded: 0
  linklocal_allowance_exceeded: 0
```

若要避免收到此訊息，請考慮將前端節點執行個體類型變更為效能更高的執行個體類型。考慮將資料儲存體移至未匯出為 NFS 共用的共用儲存檔案系統，例如 Amazon EFS 或 Amazon FSx。如需詳細資訊，請參閱 [共用儲存](shared-storage-quotas-integration-v3.md)和 GitHub 上 AWS ParallelCluster Wiki 的[最佳實務](https://github.com/aws/aws-parallelcluster/wiki/Best-Practices)。

## 執行 MPI 任務
<a name="run-job-mpi-v3"></a>

### 啟用偵錯模式
<a name="run-job-mpi-enable-v3"></a>

若要啟用 OpenMPI 除錯模式，請參閱 [Open MPI 有哪些控制項有助於除錯](https://www-lb.open-mpi.org/faq/?category=debugging#debug-ompi-controls)。

若要啟用 IntelMPI 除錯模式，請參閱[其他環境變數](https://www.intel.com/content/www/us/en/develop/documentation/mpi-developer-reference-linux/top/environment-variable-reference/other-environment-variables.html)。

### 在任務輸出`OPAL ERROR`中查看 `MPI_ERRORS_ARE_FATAL`和
<a name="run-job-mpi-errors-v3"></a>

這些錯誤代碼來自應用程式中的 MPI 層。若要了解如何從應用程式取得 MPI 除錯日誌，請參閱 [啟用偵錯模式](#run-job-mpi-enable-v3)。

此錯誤的可能原因是您的應用程式已針對特定 MPI 實作進行編譯，例如 OpenMPI，而且您嘗試使用不同的 MPI 實作執行它，例如 IntelMPI。請確定您使用相同的 MPI 實作來編譯和執行應用程式。

### 在停用受管 DNS `mpirun` 的情況下使用
<a name="run-job-mpi-dns-disabled-v3"></a>

對於使用 [SlurmSettings](Scheduling-v3.md#Scheduling-v3-SlurmSettings) / [Dns](Scheduling-v3.md#Scheduling-v3-SlurmSettings-Dns) / [DisableManagedDns](Scheduling-v3.md#yaml-Scheduling-SlurmSettings-Dns-DisableManagedDns) 和 [UseEc2Hostnames](Scheduling-v3.md#yaml-Scheduling-SlurmSettings-Dns-UseEc2Hostnames) 設定為 建立的叢集`true`，DNS 不會解析Slurm節點名稱。`nodenames`如果未啟用 ，且 MPI 任務是在Slurm內容中執行，則 Slurm可以引導 MPI 程序。我們建議您遵循 [Slurm MPI 使用者指南](https://slurm.schedmd.com/mpi_guide.html)中的指引，以使用 執行 MPI 任務Slurm。