이것은 반드시 Linux 문제는 아니지만 어쨌든 여기에 묻습니다. 제가 사용하는 워크스테이션은 주로 딥러닝과 머신러닝 모델을 훈련하는 데 사용됩니다. CPU와 GPU 모두에서 훈련 코드를 실행합니다.
CPU: AMD Ryzen 9 5950X 16코어 프로세서
그래픽 카드: NVIDIA GeForce RTX 3090
운영 체제: 우분투 22.04 LTS
내가 사용하는 라이브러리(PyTorch, XGBoost, LightGBM 등)는 데이터를 로드하기 위해 스왑 메모리를 많이 사용합니다. 대용량 데이터 세트를 처리할 때 스왑 메모리가 천천히 누적되어 한도(2GB)를 초과합니다. 이런 일이 발생하면 모든 코어가 미쳐가고 CPU가 과열됩니다. 워크스테이션은 몇 초 후에 자동으로 종료됩니다.
저는 데이터 과학자이지만 하드웨어에는 능숙하지 않습니다. 내 워크스테이션이 계속 종료되는 이유를 알아내는 데 몇 주가 걸렸습니다. 더 이상 작업을 완료할 수 없기 때문에 이런 일이 발생하지 않도록 방지할 방법을 찾아야 합니다. 어떤 제안이 있나요?
좀 더 자세히 말씀드리자면, 3~4개월 전에는 이런 일이 일어나지 않았습니다. 최근에 시작했어요.
편집하다: nvidia-smi 및 센서 출력을 추가하여 두 모델(UNet 및 YOLOv6)을 동시에 교육합니다.
엔비디아-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
답변1
먼저, PSU가 충분히 강력한지 확인하세요. 즉각적으로 종료되는 경우 PSU에 문제가 있음을 나타낼 수 있습니다. 교체할 수도 있습니다. RTX 3090의 최고 출력은 500W입니다. 이는 PSU와 CPU의 정격이 최소 850W 이상이어야 함을 의미합니다.
당신의 임시 직원에 대해 말하면.
CPU가 정격에 가깝게 작동하고 있습니다.최고, 이는 90C입니다. 이는 케이스 팬을 설치하여 케이스 냉각을 향상시키는 것이 더 낫다는 것을 의미합니다. 예를 들어 120mm(140mm가 더 좋고 - 더 조용하고 더 강력함), 아마도 CPU에 더 나은 쿨러를 설치하고 열 그리스를 교체할 것입니다. i 첫 번째 선택은 Arctic MX-4입니다(MX-5는 이론적으로 더 나은 성능을 제공할 수 있지만 적용하기가 훨씬 더 까다롭습니다).
GPU가 확실히 CPU 온도를 높이므로 적절한 케이스 냉각 장치를 설치하는 것만으로도 충분할 수 있습니다.
EFI BIOS를 업데이트하는 것을 잊지 마세요.
소프트웨어 전용 솔루션을 사용할 수도 있습니다. BIOS로 들어가서
- CPU PPT(최대 와트수)를 낮추세요.
- 아니면 최대 온도를 85C로 설정하세요.
둘 다 멀티 스레드 성능 저하를 유발하지만 그 영향은 크지 않습니다. 여기에서 더 많은 도움을 받으실 수 있습니다:https://www.reddit.com/r/Amd/
답변2
논의를 위해 CPU가예과열, 즉진정해문제는 하나가 아니다메모리 관리질문. 스왑이 가득 차서 시스템이 스왑과 RAM 간에 더 많은 데이터를 이동해야 하면 시스템 스토리지가 추가 I/O를 수행해야 하므로 스토리지 하드웨어가 열 관리 하드웨어를 압도하게 된다고 가정합니다. 시스템 모니터링온도대신에시스템 부하이러한 계산 부하 하에서 종료는 계산 최고치보다는 온도 최고치와 연관됩니다. 공기를 케이스 안으로 끌어들이거나 케이스 밖으로 밀어내는 대신 시스템 팬이 함께 작동하여 공기 흐름을 유지하는지 확인하십시오. 라디에이터가 올바르게 설치되었는지 확인하십시오.
답변3
나는 내 자신의 질문에 답하고 이 문제를 어떻게 해결했는지 알려 드리겠습니다. 이는 다른 사람들이 결론을 내리기 전에 유사한 콘텐츠를 확인하는 데 도움이 될 수 있습니다.
네, 냉각 문제입니다. 마더보드 팬 커넥터가 헐거워진 것을 발견했습니다. 팬이 작동하지만 CPU가 과열되면 이 정보가 팬에 전달되지 않습니다. 커넥터를 다시 연결하자 온도가 정상으로 돌아왔습니다.