Ubuntu双卡训练过程中电脑总是突然重启【解决方法】

本来以为是温度过热造成的,发现不是,因为在重启的瞬间,gpu温度并没有特别高。

参见视频如下:

双卡训练过程中gpu温度监测

然后尝试了另一种方法:

限制gpu显卡的功率

具体操作如下:

先检查当前gpu功率限制

nvidia-smi -q -d POWER
(base) YOURNAME-linux:~$ nvidia-smi -q -d POWER==============NVSMI LOG==============Timestamp                                 : Wed Oct  9 13:04:37 2024
Driver Version                            : 535.183.01
CUDA Version                              : 12.2Attached GPUs                             : 2
GPU 00000000:65:00.0GPU Power ReadingsPower Draw                        : 21.79 WCurrent Power Limit               : 370.00 WRequested Power Limit             : 370.00 WDefault Power Limit               : 370.00 WMin Power Limit                   : 100.00 WMax Power Limit                   : 390.00 WPower SamplesDuration                          : 23.65 secNumber of Samples                 : 119Max                               : 42.21 WMin                               : 20.84 WAvg                               : 22.22 WModule Power ReadingsPower Draw                        : N/ACurrent Power Limit               : N/ARequested Power Limit             : N/ADefault Power Limit               : N/AMin Power Limit                   : N/AMax Power Limit                   : N/AGPU 00000000:B3:00.0GPU Power ReadingsPower Draw                        : 12.01 WCurrent Power Limit               : 370.00 WRequested Power Limit             : 370.00 WDefault Power Limit               : 370.00 WMin Power Limit                   : 100.00 WMax Power Limit                   : 390.00 WPower SamplesDuration                          : 80.90 secNumber of Samples                 : 119Max                               : 32.34 WMin                               : 11.15 WAvg                               : 12.40 WModule Power ReadingsPower Draw                        : N/ACurrent Power Limit               : N/ARequested Power Limit             : N/ADefault Power Limit               : N/AMin Power Limit                   : N/AMax Power Limit                   : N/A

从输出结果上,可以看到:每一块 GPU 的详细功耗信息,包括当前功率限制、默认功率限制以及允许的最小和最大功率限制。

设置新的 NVIDIA 功率限制

考虑 GPU 的功能和您的能效目标,将功率限制调整为所需值。

$ sudo nvidia-smi -pl 200

本示例将功率限制设置为 200W。确保您选择的值在上一步中显示的最小和最大限制内。

(base) yourname-linux:~$ sudo nvidia-smi -pl 200
[sudo] yourname 的密码: 
Power limit for GPU 00000000:65:00.0 was set to 200.00 W from 370.00 W.Warning: persistence mode is disabled on device 00000000:65:00.0. See the Known Issues section of the nvidia-smi(1) man page for more information. Run with [--help | -h] switch to get more information on how to enable persistence mode.
Power limit for GPU 00000000:B3:00.0 was set to 200.00 W from 370.00 W.Warning: persistence mode is disabled on device 00000000:B3:00.0. See the Known Issues section of the nvidia-smi(1) man page for more information. Run with [--help | -h] switch to get more information on how to enable persistence mode.
All done.

再次查看,就会发现:

==============NVSMI LOG==============Timestamp                                 : Wed Oct  9 13:39:50 2024
Driver Version                            : 535.183.01
CUDA Version                              : 12.2Attached GPUs                             : 2
GPU 00000000:65:00.0GPU Power ReadingsPower Draw                        : 27.52 WCurrent Power Limit               : 200.00 WRequested Power Limit             : 200.00 WDefault Power Limit               : 370.00 WMin Power Limit                   : 100.00 WMax Power Limit                   : 390.00 WPower SamplesDuration                          : 2.36 secNumber of Samples                 : 119Max                               : 38.10 WMin                               : 24.39 WAvg                               : 27.18 WModule Power ReadingsPower Draw                        : N/ACurrent Power Limit               : N/ARequested Power Limit             : N/ADefault Power Limit               : N/AMin Power Limit                   : N/AMax Power Limit                   : N/AGPU 00000000:B3:00.0GPU Power ReadingsPower Draw                        : 11.54 WCurrent Power Limit               : 200.00 WRequested Power Limit             : 200.00 WDefault Power Limit               : 370.00 WMin Power Limit                   : 100.00 WMax Power Limit                   : 390.00 WPower SamplesDuration                          : 55.03 secNumber of Samples                 : 119Max                               : 30.61 WMin                               : 11.17 WAvg                               : 12.36 WModule Power ReadingsPower Draw                        : N/ACurrent Power Limit               : N/ARequested Power Limit             : N/ADefault Power Limit               : N/AMin Power Limit                   : N/AMax Power Limit                   : N/A

  1. 使 NVIDIA 功率限制保持不变(可选):如果您希望功率限制设置在重新启动后保持不变,您可以创建自定义 systemd 服务脚本。

    尽管遵循标准程序来确保 NVIDIA 功率限制设置在系统重新启动后仍然有效,但我还是遇到了挑战。最初,我尝试使用命令 sudo nvidia-smi -pm 1 通过 NVIDIA 管理界面 (nvidia-smi) 直接激活持久模式。通常建议使用这种方法,因为它应该使电源管理设置保持不变,而无需进一步的用户干预。不幸的是,这种方法没有成功,功率限制设置在系统重新启动后恢复。

    为了寻找解决方案,我转向了另一种常见方法:修改 systemd 服务脚本以实现 NVIDIA 持久性。此方法涉及使用命令 sudo systemctl edit nvidia-persistenced.service 修改 NVIDIA Persistence Daemon,旨在确保 GPU 设置(包括功率限制)即使在重新启动后也保持不变。然而,这一尝试也没有取得预期的结果。对 systemd 服务脚本的修改不会导致持久的功率限制设置,这表明更改要么未正确应用,要么被某些其他系统进程覆盖。

    面对这些挫折,解决方案是创建一个自定义的 systemd 服务脚本,专门用于设置 NVIDIA GPU 功率限制。这种方法允许在系统启动时直接控制功率限制设置,确保重新启动后的持久性,而无需依赖无法按预期工作的内置持久性选项。

    $ sudo nano /etc/systemd/system/nvidia-power-limit.service

    将以下内容插入到文件中:

    [Unit]
    Description=Set NVIDIA GPU Power Limit[Service]
    Type=oneshot
    ExecStart=/usr/bin/nvidia-smi -pl 200[Install]
    WantedBy=multi-user.target
    

    启用服务在启动时自动应用功率限制:

    $ sudo systemctl enable nvidia-power-limit.service

    这可确保每次系统启动时恢复您的功率限制设置。

结论

在 Ubuntu 上设置 NVIDIA GPU 的功率限制有助于有效管理功耗。通过遵循本指南中概述的步骤,您可以确保 GPU 在所需的功率限制内运行,从而可能节省能源并减少热量输出。请记住在调整功率限制时考虑您的特定硬件和工作负载要求。

有关在 Ubuntu 上设置 NVIDIA 功率限制的常见问题 (FAQ)

  1. 对 NVIDIA GPU 设置功率限制的目的是什么?对 NVIDIA GPU 设置功率限制有助于管理和降低功耗,从而潜在地降低电力成本并减少热量输出,从而延长硬件的使用寿命寿命并提高其效率,特别是在热受限的环境中。
  2. 在 NVIDIA GPU 上设置功率限制会影响其性能吗?是的,设置功率限制会影响 GPU 的性能,尤其是当该限制设置为低于 GPU 执行高性能任务的通常功耗时。它可能会导致性能下降,但有利于控制能源使用和热输出。
  3. 是否可以为同一系统中的多个 NVIDIA GPU 设置不同的功率限制?可以,您可以通过使用“nvidia-smi -i”指定 GPU 的唯一标识符来为多个 NVIDIA GPU 设置不同的功率限制` 选项后跟每个 GPU 所需的功率限制设置。
  4. 如何找到 NVIDIA GPU 允许的最小和最大功率限制?您可以使用命令“nvidia-smi -q -d POWER”找到 NVIDIA GPU 允许的最小和最大功率限制`,它提供了与电源相关的详细信息,包括这些限制。
  5. 设置新的功率限制后是否需要重新启动系统?不需要,设置新的功率限制后不需要重新启动系统。更改会立即生效,但不会在重新启动后持续存在,除非您创建 systemd 服务或其他持久性机制。
  6. 功率限制设置会在驱动程序更新后持续存在吗?功率限制设置可能不会在 NVIDIA 驱动程序更新后持续存在。建议在更新驱动程序后检查并重新应用您的首选功率限制设置,以确保它们仍然有效。
  7. 我可以使用此方法设置非 NVIDIA GPU 的功率限制吗?不可以,使用“nvidia-smi”描述的方法特定于 NVIDIA GPU。其他制造商的 GPU 将需要不同的工具或方法来调整功率设置。
  8. 如果设置功率限制似乎不影响功耗,我该怎么办?如果设置功率限制不影响功耗,请确保您正确应用该设置并且您的 GPU 支持电源管理特征。此外,请考虑查阅 NVIDIA 的文档或寻求支持,以确保您的硬件或软件配置不存在根本问题。
  9. 有没有办法在系统启动时自动设置功率限制的过程?是的,如指南中所述,创建自定义 systemd 服务脚本是在系统启动时自动设置功率限制的有效方法。系统启动。这可确保在重新启动时一致应用功率限制,而无需手动干预。

参考链接:https://cn.linux-console.net/?p=31021

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1559174.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

[论文阅读] DVQA: Understanding Data Visualizations via Question Answering

原文链接:http://arxiv.org/abs/1801.08163 启发:没太读懂这篇论文,暂时能理解的就是本文提出了一个专门针对条形图问答的数据集DVQA以及一个端到端模型SANDY,模型有两个版本,Oracle和OCR。主要解决的问题是固定词表无…

IPguard vs Ping32:防泄密软件的巅峰对决,哪款是你的理想选择

在当今这个数字化时代,数据安全已成为企业不可忽视的重要议题。为了有效防范数据泄露风险,众多企业开始寻求专业的防泄密软件。IPguard与Ping32作为两款备受关注的防泄密软件,各自以其卓越的性能和独特的功能,赢得了广大用户的青睐…

线程(五)线程的同步和互斥——线程信号量

文章目录 线程线程的同步和互斥线程的同步和互斥--线程信号量示例--使用线程信号量来控制线程执行的先后顺序示例--使用信号量实现线程之间的互斥示例--使用信号量实现线程之间的同步 死锁线程状态转换 线程 线程的同步和互斥 线程的同步和互斥–线程信号量 上边讲了互斥的方…

力扣HOT100合集

力扣HOT100 - 1. 两数之和 解题思路&#xff1a; 解法一&#xff1a;暴力 class Solution {public int[] twoSum(int[] nums, int target) {int n nums.length;for (int i 0; i < n; i)for (int j i 1; j < n; j) {if (target nums[i] nums[j])return new int[] …

操作系统-系统调用

应用程序调用printf(),会触发系统调用write() 1、概念 操作系统服务的编程接口&#xff0c;通常由高级语言编写&#xff08;C/C&#xff09;&#xff0c;程序访问通常是通过高层次的API接口而不是直接进行系统调用。 2、三种最常用的应用程序编程接口&#xff08;API&#xf…

Vue深入了解

Vue深入了解 MVVMv-model (双向数据绑定原理)异步更新keep-alive原理$nextTick原理computed 和 watch 的区别css-scoped虚拟DOMVuex && PiniaVue-router原理proxy 与 Object.defineProperty组件通信方式 MVVM <!DOCTYPE html> <html lang"en">&…

AD原理图编译出现Net XX has no driving source

提示无驱动电压源&#xff0c;这是因为你的芯片管脚设置了电气属性造成的。 两种解决AD中出现Net has no driving source警告的方法。 方法一&#xff1a;取消电气属性检测&#xff0c;但不推荐&#xff1b; 打开原理图编译项&#xff0c;将NET no driving source 修改为no …

PostgreSQL的学习心得和知识总结(一百五十三)|[performance]将 OR 子句转换为 ANY 表达式

目录结构 注&#xff1a;提前言明 本文借鉴了以下博主、书籍或网站的内容&#xff0c;其列表如下&#xff1a; 1、参考书籍&#xff1a;《PostgreSQL数据库内核分析》 2、参考书籍&#xff1a;《数据库事务处理的艺术&#xff1a;事务管理与并发控制》 3、PostgreSQL数据库仓库…

树控件QTreeWidget

树控件跟表格控件类似&#xff0c;也可以有多列&#xff0c;也可以只有1列&#xff0c;可以有多行&#xff0c;只不过每一行都是一个QTreeWidgetItem&#xff0c;每一行都是一个可以展开的树 常用属性和方法 显示和隐藏标题栏 树控件只有水平标题栏 //获取和设置标题栏的显…

PPT在线画SWOT分析图!这2个在线软件堪称办公必备!

swot分析ppt怎么做&#xff1f; swot分析是一个非常常用的战略分析框架&#xff0c;经常会在ppt中使用。想在ppt中绘制swot分析图&#xff0c;使用自带的形状工具可以制作出来&#xff0c;但绘制效率不够高&#xff0c;在需要大批量制作的场景下&#xff0c;会让人非常心累………

DepthB2R靶机打靶记录

一、靶机介绍 下载地址&#xff1a;https://download.vulnhub.com/depth/DepthB2R.ova 二、信息收集 根据靶机主页显示&#xff0c;确认靶机ip为192.168.242.132 端口扫描 nmap -p- -A 192.168.242.132 发现只开放了8080端口 用dirsearch扫个目录 apt-get update apt-get …

基于LORA的一主多从监测系统_0.96OLED

关联&#xff1a;0.96OLED hal硬件I2C LORA 在本项目中每个节点都使用oled来显示采集到的数据以及节点状态&#xff0c;OLED使用I2C接口与STM32连接&#xff0c;这个屏幕内部驱动IC为SSD1306&#xff0c;SSD1306作为从机地址为0x78 发送数据&#xff1a;起始…

【Linux】基本认知全套入门

目录 Linux简介 Linux发行版本 发行版选择建议 Centos-社区企业操作系统 Centos版本选择 Linux系统目录 Linux常用命令 SSH客户端 Linux文件操作命令 vim重要快捷键 应用下载与安装 netstat&#xff0c;ps与kill命令使用 Linux应用服务化 Linux用户与权限 Linu…

Telephony CarrierConfig配置

1、CarrierConfig配置介绍 CarrierConfig&#xff08;运营商配置&#xff09;&#xff0c;是Android为了针对不同运营商配置不同功能的配置文件&#xff0c;类似Modem的MBN配置&#xff0c;可以实现插入不同运营商卡&#xff0c;不同的功能实现或菜单显示等。 2、CarrierConfig…

力扣之1355.活动参与者

题目&#xff1a; Sql 测试用例&#xff1a; Create table If Not Exists Friends (id int, name varchar(30), activity varchar(30)); Create table If Not Exists Activities (id int, name varchar(30)); Truncate table Friends; insert into Friends (id, name, acti…

【数据结构与算法-高阶】并查集

【数据结构与算法-高阶】并查集 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;数据结构与算法&#x1f345; &#x1f33c;文章目录&#x1f33c; 1. 并查集原理 2. 并查集实现 3. 并查集应用 1. 并查集原理 在一些应用问题中&…

charAt,chartCodeAt,codePointAt,fromCodePoint,fromCharCode

生僻字的length算2,有些空格是特殊空格,比如\u3000 u3000不是全角空格&#xff0c;u3000是表意字空格&#xff08;Ideographic Space&#xff09;&#xff0c;宽度和一个表意字&#xff08;汉字&#xff09;相同。它应当被当做汉字来处理。比如&#xff0c;在一些排版中&#x…

OpenSource - License 开源项目 TrueLicense

文章目录 官网集成Demo 官网 https://truelicense.namespace.global/ https://github.com/christian-schlichtherle/truelicense 集成Demo https://github.com/christian-schlichtherle/truelicense-maven-archetype https://github.com/zifangsky/LicenseDemo https://git…

map和set(c++)

前言 在前面我们在介绍二叉搜索树时我们分别实现了一个key结构和key-val结构&#xff0c;如果我们再进一步完善这棵树&#xff0c;将二叉搜索树升级为红黑树去存储key和key-val那么我们就可以得到我们今天要介绍的主角map和set。当然了标准库的实现还是有很多需要注意的地方&a…

植物大战僵尸修改器-MFC

创建项目 创建mfc应用 基于对话框 打开资源视图下的 IDD_MFCAPPLICTION2_DIALOG 限制对话框大小 将属性中Border的值改为对话框外框 删除对话框中原有的控件 属性-外观-Caption 设置对话框标题 工具箱中拖放一个按钮 修改按钮名称 将按钮ID改为IDC_COURSE 在MFCApplication2…