Linux 系统指定程序运行的显卡_mc linux 独显-程序员宅基地

技术标签: 网络  linux  操作系统  工具  

一般租的服务器会有多张显卡,为了资源最大化利用同时运行程序,如果不指定显卡运行会导致多个程序抢占一张显卡运行,然后报错内存占满。

我们先查看系统有多少张显卡,每张显卡的运行状态:

nvidia-smi

在终端输入上面的指令得到下面的结果,显示了系统安装的所有显卡和每张卡当前的状态,比如显卡0当前使用率为81%,已经比较接近占满了。
在这里插入图片描述
我们观察到1,2,3,4,5都没程序使用,于是指定其中几张,指令如下

CUDA_VISIBLE_DEVICES=3,4,1 python train.py

意思为同时用显卡3,4,1运行代码train.py,然后3为主显卡,4和1为辅助显卡。

然后运行即可。
但是我们知道,我们远程连接服务器,输入上面的指令程序运行过程会显示在终端,如果中途网络问题和服务器连接失败,终端可能会关闭,程序运行中断,于是我们想到如下指令:

nohup python train.py &

但是当我们写成

nohup CUDA_VISIBLE_DEVICES=3,4,1 python train.py &

会报错指令不对,所以这个时候最好的办法就是,在train.py程序中加上说明,在代码里面最开始的部分加上如下指令:

import os
os.environ["CUDA_VISIBLE_DEVICES"] = '3,4,1'

这里在代码里面调用终端指令,说明运行的显卡。

希望对你的学习有所帮助。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43918046/article/details/117111708

智能推荐

super关键字的三种用法_cmake __super关键字-程序员宅基地

文章浏览阅读136次。1、在子类的成员方法中,访问父类的成员变量。2、在子类的成员方法中,访问父类的成员方法。3、在子类的构造方法中,访问父类的构造方法。_cmake __super关键字

关于cJSON_Print返回null_cjson print 返回null-程序员宅基地

文章浏览阅读1.7k次。    近日开发任务中有用到cjson组件,在调用json文本输出函数 cJSON_Print 时,发现该函数返回NULL,且如果此时去删除构建该json文本的json对象时,还会出现段错误:    几经排查,虽然没有弄明白出现段错误的原因,但是发现了调用cjson插入/删除数组成员函数时需要注意的一个点。    我在代码中使用的json增加数组元素的函数为 cJSON_AddItemToArray ,删除数组元素的函数为 cJSON_DetachItemViaPointer & cJSON__cjson print 返回null

gitee仓库项目管理之删除仓库中的项目_gitee删除项目-程序员宅基地

文章浏览阅读6.5k次。要问直接在gitee页面上直接删除仓库中指定的项目也不是没有但是是企业版的,钱包从未鼓过得我......-_-!!!所以咱们就换个策略.使用命令其实很简单继创建完仓库上传完本地项目之后https://blog.csdn.net/cdliker/article/details/112464462进行项目删除首先先说明下为何要删除 上传完项目提交两次代码之后发现虽然只有我一个人开发但是为了规范一些,更恰当的说是防止代码混乱,并且想通过这样可以多熟练操作分支,于是乎我就新创建了个dev分支,然.._gitee删除项目

传统蓝牙L2CAP的连接流程(以被连接为例)_蓝牙 l2cap configure request-程序员宅基地

文章浏览阅读4.2k次,点赞9次,收藏27次。一. 声明本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下:第一篇:蓝牙综合介绍 ,主要介绍蓝牙的一些概念,产生背景,发展轨迹,市面蓝牙介绍,以及蓝牙开发板介绍。第二篇:Transport层介绍,主要介绍蓝牙协议栈跟蓝牙芯片之前的硬件传输协议,比如基于UART的H4,H5,BCSP,基于USB的H2等第三篇:传统蓝牙controller介绍,主要介绍传统蓝牙芯片的介绍,包括射频层(RF),基带层(baseband),链路管理层(LMP)等第四篇:传统蓝牙host介绍,主要_蓝牙 l2cap configure request

1/x    (x≠0) y=f(x)=      0     (x=0)_c程序y=f(x),x等于0或x不等于0的代码-程序员宅基地

文章浏览阅读311次。#include"stdio.h"void main(){int x;printf(“please input the x:\n”);scanf(“x=%d”,&x);if(x==0)printf(“y=0\n”);elseprintf(“y=%f\n”,1.0/x);}_c程序y=f(x),x等于0或x不等于0的代码

fdk-aac的编码方法_fdkaac nu774-程序员宅基地

文章浏览阅读3.6k次。https://github.com/nu774/fdkaac_autobuild_fdkaac nu774

随便推点

如何写出优秀的程序? _怎样写出优秀的博客-程序员宅基地

文章浏览阅读860次。上一篇文章得到很多朋友的关注,无论是褒是贬,都由衷地开心,其中有好几位朋友都提到了好的源码难求,其实从我的观点来说,阅读程序并不分好坏,好的源码确实让人易读易懂,甚至心旷神怡,而不好的源码让人百思不得其解,甚至心烦意乱,但作为学习者,应保持冷静的头脑,善于从别人的错误或混乱之中得到乐趣,毕竟能看得出别人的错误也可以证明自已的水平要高,阅读程序与发现错误本身也是一个学习的过程。 _怎样写出优秀的博客

【Lua】windows下使用Cygwin+NDK编译Android平台的LuaJIT库_android luajit windows-程序员宅基地

文章浏览阅读3k次。1.准备安装Cygwin和NDK下载LuaJIT源代码3.创建编译脚本在LuaJIT源代码目录里新建文件,考进以下内容:export NDK=D:/tools/android_sdk/android-ndk-r8eexport NDKABI=14export NDKVER=$NDK/toolchains/arm-linux-androideabi-4.7export_android luajit windows

软考下午科目——第二章——数据库设计_系统正式投入使用有没有规定必须试运行-程序员宅基地

文章浏览阅读2.2k次,点赞2次,收藏27次。大纲要求理解和掌握数据库管理系统的功能和特征了解数据库模型,包括概念模式、外模式和内模式了解数据模型,包括E-R图、第一范式、第二范式、第三范式了解数据操作,包括集合运算和关系运算了解数据库语言,即SQL了解数据库的控制功能,包括并发控制、恢复、安全性、完整性了解数据仓库和分布式数据库的基础知识了解数据库的逻辑设计和物理设计常考的考点:数据模型主键和超键E-R模型转换为关系模型SQL语句数据库设计的步骤数据库应用系统的生命周期软件生命周期分为6个阶段:制定计划、需求分_系统正式投入使用有没有规定必须试运行

在centos7上修改docker加速镜像为阿里云_centeros 更改 docker 镜像加速地址-程序员宅基地

文章浏览阅读1.7k次。使用docker pull,命令下载镜像太慢了,默认是从国外的,本文记录下如何配置国内阿里云竞相加速方式。登录阿里云docker仓库 https://dev.aliyun.com/search.html,如下,阿里云会为每个用户提供一个专属的加速地址。有两种方式可以配置第一种您可以使用命令 vi /etc/docker/daemon.json添加如下:{ "reg..._centeros 更改 docker 镜像加速地址

如何获取js中定义的html中的属性值,HTML5 标签自定义属性,以及在JS中如何获取自定义属性的值...-程序员宅基地

文章浏览阅读468次。demo.html(JS中获取属性值):Documentaaavar box = document.querySelector(".box");console.log(box.className); //获取标签的原有属性值console.log(box.title); //获取标签的原有属性值console.log(box.dataset["content"]); //获取标签自定义属性的..._h5中如何获取content中的值

未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项。试图加载格式不正确的程序。...-程序员宅基地

文章浏览阅读115次。错误描述:win10 + 64位解决方案:修改IIS配置1. 管理应用程序 --> 高级设置 --> 应用程序池 --> 选择:ASP.NET v4.0 或者 ASP.NET v4.5 2. 查看应用程序池中,第一步中选择的:<ASP.NET v4.0 或者 ASP.NET v4.5>是否启动。修改参数:选择刚刚选择的应用程序..._asp.net 未能加载文件或程序集“oracle.dataaccess”或它的某一个依赖项。试图加

推荐文章

热门文章

相关标签