交換已滿時 CPU 過熱和 PC 關閉
這不一定是Linux問題,但無論如何我都會在這裡問。我使用的工作站主要用於訓練深度學習和機器學習模型。我在 CPU 和 GPU 上執行訓練程式碼。
CPU:AMD 銳龍 9 5950X 16 核處理器
顯卡:NVIDIA GeForce RTX 3090
作業系統:Ubuntu 22.04 LTS
我使用的庫(PyTorch、XGBoost、LightGBM 等)大量使用交換記憶體來載入數據。在處理大型數據集時,交換記憶體會緩慢累積並超過限制 (2GB)。發生這種情況時,所有核心都會發瘋,CPU 會過熱。工作站幾秒鐘後自行關閉。
我是一名數據科學家,我不擅長硬體。我花了幾個星期才弄清楚為什麼我的工作站一直在自行關閉。我必須找到一種方法來防止這種情況發生,因為我無法再完成自己的任務了。你有什麼建議?
為了給你更多細節,這不是在 3-4 個月前發生的。它是最近才開始的。
編輯:在同時訓練兩個模型(UNet 和 YOLOv6)時添加了 nvidia-smi 和感測器輸出。
英偉達-smi
+-----------------------------------------------------------------------------+ | NVIDIA-SMI 510.73.05 Driver Version: 510.73.05 CUDA Version: 11.6 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 NVIDIA GeForce ... Off | 00000000:0A:00.0 Off | N/A | |100% 79C P2 338W / 350W | 14171MiB / 24576MiB | 100% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | 0 N/A N/A 1361 G /usr/lib/xorg/Xorg 56MiB | | 0 N/A N/A 1568 G /usr/bin/gnome-shell 10MiB | | 0 N/A N/A 27955 C python 2743MiB | | 0 N/A N/A 31692 C python 11355MiB | +-----------------------------------------------------------------------------+
感測器
nvme-pci-0300 Adapter: PCI adapter Composite: +74.8°C (low = -273.1°C, high = +84.8°C) (crit = +84.8°C) Sensor 1: +74.8°C (low = -273.1°C, high = +65261.8°C) Sensor 2: +74.8°C (low = -273.1°C, high = +65261.8°C) iwlwifi_1-virtual-0 Adapter: Virtual device temp1: +57.0°C k10temp-pci-00c3 Adapter: PCI adapter Tctl: +87.8°C Tccd1: +89.2°C Tccd2: +79.5°C
首先,絕對確保您的 PSU 足夠強大 - 像您這樣的即時關機可能表明它存在問題。也許更換它。RTX 3090 的峰值功率最高可達 500W,這意味著與您的 CPU 一起,您的 PSU 的額定功率必須至少為 850W。
說到你的時間。
您的 CPU 執行接近其額定最大值,即 90C,這意味著您最好通過安裝機箱風扇來改善機箱散熱,例如 120 毫米(140 毫米更好 - 更安靜、更強大),並可能在您的 CPU 上安裝更好的冷卻器更換導熱膏 - 我最喜歡的是北極 MX-4(MX-5 理論上提供更好的性能,但應用起來要麻煩得多)。
安裝適當的機箱冷卻可能就足夠了,因為您的 GPU 肯定會增加您的 CPU 溫度。
不要忘記更新您的 EFI BIOS。
您也可以使用純軟體解決方案:輸入您的 BIOS 並
- 要麼降低你的 CPU PPT(最大功率)
- 或為其設置最高溫度,例如 85C
兩者都會導致多執行緒性能下降,但不會那麼多。您可能會在這裡獲得更多幫助:https ://www.reddit.com/r/Amd/
為了便於討論,假設 CPU過熱,這是冷卻**問題,而不是記憶體管理問題。假設當交換空間已滿並且系統必須在交換空間和 RAM 之間進行更多的數據移動時,您的系統儲存必須執行的額外 I/O 可能會使儲存硬體變得足夠好,足以壓倒熱管理硬體。監控系統溫度而不是系統負載當在這種計算負載下將關機與溫度峰值相關聯,而不是計算峰值。確保您的系統風扇協同工作以保持空氣流通,而不是全部將空氣吸入機箱或從機箱中排出空氣。確保正確安裝散熱器。