交换空间已满时 CPU 过热且 PC 关闭

gun*_*tan 10 linux cpu ubuntu hardware

这不一定是 Linux 问题,但无论如何我都会在这里问它。我使用的工作站主要用于训练深度学习和机器学习模型。我在 CPU 和 GPU 上运行训练代码。

\n

CPU:AMD Ryzen 9 5950X 16 核处理器

\n

显卡:NVIDIA GeForce RTX 3090

\n

操作系统:Ubuntu 22.04 LTS

\n

我使用的库(PyTorch、XGBoost、LightGBM 等)大量利用交换内存来加载数据。在处理大型数据集时,交换内存会缓慢积累并超过限制 (2GB)。当这种情况发生时,所有核心都会变得疯狂,CPU 会过热。几秒钟后工作站自行关闭。

\n

我是一名数据科学家,但我不擅长硬件。我花了几周时间才弄清楚为什么我的工作站总是自动关闭。我必须找到一种方法来防止这种情况发生,因为我无法再完成自己的任务了。您有什么建议?

\n

向您提供更多详细信息,这在 3-4 个月前还没有发生。最近才开始。

\n

编辑:添加了 nvidia-smi 和传感器输出,同时训练两个模型(UNet 和 YOLOv6)。

\n

英伟达-SMI

\n
+-----------------------------------------------------------------------------+\n| NVIDIA-SMI 510.73.05    Driver Version: 510.73.05    CUDA Version: 11.6     |\n|-------------------------------+----------------------+----------------------+\n| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |\n| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |\n|                               |                      |               MIG M. |\n|===============================+======================+======================|\n|   0  NVIDIA GeForce ...  Off  | 00000000:0A:00.0 Off |                  N/A |\n|100%   79C    P2   338W / 350W |  14171MiB / 24576MiB |    100%      Default |\n|                               |                      |                  N/A |\n+-------------------------------+----------------------+----------------------+\n                                                                               \n+-----------------------------------------------------------------------------+\n| Processes:                                                                  |\n|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |\n|        ID   ID                                                   Usage      |\n|=============================================================================|\n|    0   N/A  N/A      1361      G   /usr/lib/xorg/Xorg                 56MiB |\n|    0   N/A  N/A      1568      G   /usr/bin/gnome-shell               10MiB |\n|    0   N/A  N/A     27955      C   python                           2743MiB |\n|    0   N/A  N/A     31692      C   python                          11355MiB |\n+-----------------------------------------------------------------------------+\n
Run Code Online (Sandbox Code Playgroud)\n

传感器

\n
nvme-pci-0300\nAdapter: PCI adapter\nComposite:    +74.8\xc2\xb0C  (low  = -273.1\xc2\xb0C, high = +84.8\xc2\xb0C)\n                       (crit = +84.8\xc2\xb0C)\nSensor 1:     +74.8\xc2\xb0C  (low  = -273.1\xc2\xb0C, high = +65261.8\xc2\xb0C)\nSensor 2:     +74.8\xc2\xb0C  (low  = -273.1\xc2\xb0C, high = +65261.8\xc2\xb0C)\n\niwlwifi_1-virtual-0\nAdapter: Virtual device\ntemp1:        +57.0\xc2\xb0C  \n\nk10temp-pci-00c3\nAdapter: PCI adapter\nTctl:         +87.8\xc2\xb0C  \nTccd1:        +89.2\xc2\xb0C  \nTccd2:        +79.5\xc2\xb0C\n
Run Code Online (Sandbox Code Playgroud)\n

Art*_*nov 20

首先,绝对确保您的 PSU 足够强大 - 像您这样的即时关闭可能表明它存在问题。也许更换它。RTX 3090 的峰值功率可达 500W,这意味着您的 PSU 和 CPU 的额定功率必须至少为 850W。


说到你的临时工。

您的 CPU 正在接近其额定最大值(即 90C)运行,这意味着您最好通过安装机箱风扇(例如 120 毫米(140 毫米更好 - 更安静且更强大))来改善机箱冷却,并且可能在 CPU 上安装更好的冷却器更换导热膏 - 我的首选是 Arctic MX-4(理论上 MX-5 可以提供更好的性能,但应用起来要麻烦得多)。

安装适当的机箱冷却可能就足够了,因为您的 GPU 肯定会增加 CPU 温度。

不要忘记更新您的 EFI BIOS。

您还可以使用纯软件解决方案:输入 BIOS 并

  • 要么降低你的CPU PPT(最大瓦数)
  • 或为其设置最高温度,例如85C

两者都会导致多线程性能下降,但影响不大。您可以在这里获得更多帮助: https: //www.reddit.com/r/Amd/


Dop*_*oti 13

为了便于讨论,假设 CPU过热,这是冷却问题,而不是内存管理问题。假设当交换区已满并且系统必须在交换区和 RAM 之间移动更多数据时,系统存储必须执行额外的 I/O,这使得存储硬件足以压倒热管理硬件。在这种计算负载下监视系统温度而不是系统负载,以便将关闭与温度峰值而不是计算峰值关联起来。确保系统风扇协同工作以保持空气流通,而不是全部将空气吸入机箱或从机箱中排出空气。确保散热器安装正确。