R4950 G6
There are a total of 10 machines, 5 with 384 cores and 5 with 128 cores. The 384-core machines crash three to four times a day, while the 128C machines have never crashed. Logs collected from both normal and faulty machines show no abnormal errors. The restart message reads System Restart---Unknown cause:power reset.
1. Analyze the SDS logs of the abnormal machine. No hardware alarms are found in the hardware logs, only restart records.
2. Compare normal and abnormal servers (with inconsistent CPUs). There is a difference in BIOS configuration. The options for the abnormal server are as follows:
"LocalAPICMode": "x2APIC"
"IOMMU": "Enabled"
The normal server uses auto and disabled.
Addendum: Local APIC (Advanced Programmable Interrupt Controller) mode. Menu option:
· Auto (Default): Automatically set to xAPIC mode. It will switch to x2APIC mode automatically when the system has more than 256 Cores.
· xAPIC: Use xAPIC mode.
· x2APIC: Use x2APIC mode. The x2APIC mode helps operating systems run more efficiently with high core count configurations and optimizes interrupt distribution in virtualized environments.
· Compatibility: Use compatibility mode.
IOMMU (Input-Output Memory Management Unit) setting support. Menu options:
· Auto (default): Auto select
· Enabled: Enable IOMMU
· Disabled: Disable IOMMU
3. Since no anomalies are found in the current logs and BIOS settings vary, the preliminary conclusion is:
On AMD CPU platforms, enabling the IOMMU option in the BIOS may trigger compatibility issues. This causes devices to access illegal memory addresses, resulting in PCI card malfunctions or system hangs. Without special virtualization requirements, it is recommended to disable IOMMU or set `iommu=pt` in grub (pt stands for IOMMU passthrough mode. After configuration, hardware does not need DMA-to-memory translation, and each hardware device can access the entire physical memory. This improves device performance and avoids most compatibility issues).
However, the current environment uses the 9654 with 96 cores. Directly disabling IOMMU in the BIOS will prevent support for x2APIC mode, and the server will automatically switch to xAPIC mode. xAPIC mode imposes a limit on the total number of threads, which will reduce the available cores so that the thread count stays below 256 (2 to the power of 8, since the addressing register is only 8 bits). Therefore, it is preferable to add the parameter `iommu=pt` in the system grub.
It works normally after adding parameters in the system.